Cross-language program analysis for the evolution of multi-language software systems: a systematic literature review. Yazdanshenas, A. R. & Moonen, L. submitted to Journal of Software: Evolution and Process, Wiley, 2015.
abstract   bibtex   
Contemporary software systems are rarely implemented uniformly in one programming language, and delivered in one type of development artifact. Instead, it is common practice to use the programming language that fits best to develop each part of the system. Moreover, in large-scale legacy software systems, the maintainance process often has to deal with several programming languages and artifacts simultaneously. This heterogeneity complicates most system-wide tasks in the evolution of such multi-language systems, as cross-language dependencies and interactions are substantially more difficult to identify and manage. This paper seeks to provide a basis for the improvement of software evolution of multi-language systems, by assessing the state of the art in cross-language program analysis, and discussing the implications for research and practice. We conduct a systematic review over the available literature in seven digital libraries, to find the relevant primary studies on cross-language program analysis, and identify additional studies with manual snowballing. We classify the studies based on several criteria, including their purpose (why), the adopted or suggested approach (how), the information leveraged in each programming language or artifact (what), and the conducted evaluation (quality). Our investigation identified 75 relevant papers, which were analysed in depth to answer eight research questions. The results include objective findings on the diversity of the applied techniques, application domains, programming languages, and reliability of the approaches. Building on these findings, several implications for research and practice are discussed, including potential breakthroughs based on use of historic data, and possible negative effects of having a shortage of community-driven research.
@Article{yazdanshenas:2015:cross-language,
  abstract =     "Contemporary software systems are rarely implemented uniformly in one programming language, and delivered in one type of development artifact. Instead, it is common practice to use the programming language that fits best to develop each part of the system. Moreover, in large-scale legacy software systems, the maintainance process often has to deal with several programming languages and artifacts simultaneously. This heterogeneity complicates most system-wide tasks in the evolution of such multi-language systems, as cross-language dependencies and interactions are substantially more difficult to identify and manage. This paper seeks to provide a basis for the improvement of software evolution of multi-language systems, by assessing the state of the art in cross-language program analysis, and discussing the implications for research and practice. We conduct a systematic review over the available literature in seven digital libraries, to find the relevant primary studies on cross-language program analysis, and identify additional studies with manual snowballing. We classify the studies based on several criteria, including their purpose (why), the adopted or suggested approach (how), the information leveraged in each programming language or artifact (what), and the conducted evaluation (quality). Our investigation identified 75 relevant papers, which were analysed in depth to answer eight research questions. The results include objective findings on the diversity of the applied techniques, application domains, programming languages, and reliability of the approaches. Building on these findings, several implications for research and practice are discussed, including potential breakthroughs based on use of historic data, and possible negative effects of having a shortage of community-driven research.",
  annote =       "under revision",
  author =       "Yazdanshenas, Amir Reza and Moonen, Leon",
  journal =      "submitted to Journal of Software: Evolution and Process",
  publisher =    "Wiley",
  title =        "{Cross-language program analysis for the evolution of multi-language software systems: a systematic literature review}",
  year =         "2015",
}

Downloads: 0