Software systems are not written using just one programming language. Although there is usually one dominating general-purpose language, many additional languages (mostly domain-specific ones) are used for various purposes. We call this phenomenon multi-language software development, or MLSD.
The code of artifacts in these various languages usually does not stand alone; instead, the individual artifacts written in different languages work together, and are thus connected in some way. A common example are connections using shared identifier names. We call such connections cross-language links, or XLL in short. Cross-language links are often a source of problems for understandability and changeability of software, since most are not part of clearly defined interface specifications; furthermore, there is a lack of tool support.
The aim of this project is forming a better understanding of both MLSD and XLL using empirical data from both available (open source) code and professional software developers, and designing tools and techniques as well as formulating guidelines for aiding developers in these areas.
In particular, interesting tool support for cross-language linking includes: