On multi-language software development, cross-language links and accompanying tools: a survey of professional software developers

Abstract Context Non-trivial software systems are written using multiple (programming) languages, which are connected by cross-language links. The existence of such links may lead to various problems during software development. There is little empirical evidence on the incidence of these problems a...

Full description

Bibliographic Details
Main Authors: Philip Mayer, Michael Kirsch, Minh Anh Le
Format: Article
Language:English
Published: Sociedade Brasileira de Computação and Comissão Especial de Engenharia de Software 2017-04-01
Series:Journal of Software Engineering Research and Development
Subjects:
Online Access:http://link.springer.com/article/10.1186/s40411-017-0035-z
Description
Summary:Abstract Context Non-trivial software systems are written using multiple (programming) languages, which are connected by cross-language links. The existence of such links may lead to various problems during software development. There is little empirical evidence on the incidence of these problems and the experiences of professional developers in this field. Aim We want to provide empirical evidence on multi-language software development, cross-language linking, and tool support in industry, including the views of professional developers on benefits and problems in these areas. Methods We conducted a survey study to gather responses from 139 professional software developers. Results Respondents reported an average of 7 languages and 3 linked language pairs per project. Respondents saw benefits of multi-language development for the motivation of developers and the translation of requirements, but problems in understandability and changeability. Over 90% of respondents reported problems related to cross-language linking. Developers universally agree on the usefulness of tool support. Conclusions Multi-language programming and cross-language linking seem common but lead to several problems. We suggest that future practical as well as research efforts focus on these issues by creating appropriate tool support and by developing better techniques for cross-language linking for improved changeability and understandability.
ISSN:2195-1721