Litcius/Paper detail

Understanding Language Selection in Multi-language Software Projects on GitHub

Wen Li, Na Meng, Li Li, Haipeng Cai

202123 citationsDOI

Abstract

There are hundreds of programming languages available for software development today. As a result, modern software is increasingly developed in multiple languages. In this context, there is an urgent need for automated tools for multi-language software quality assurance. To that end, it is useful to first understand how languages are chosen by developers in multi-language software projects. One intuitive perspective towards the understanding would be to explore the potential functionality relevance of those choices. With a plethora of publicly hosted multi-language software projects available on GitHub, we were able to obtain thousands of popular, relevant repositories across 10 years from 2010 to 2019 to enable the exploration. We start by estimating the functionality domain of each project through topic modeling, followed by studying the statistical correlation between these domains and language selection over all the sample projects through association mining. We proceed with an evolutionary characterization of these projects to provide a longitudinal view of how the association has changed over the years. Our findings offer useful insights into the rationale behind developers' choices of language combinations in multi-language software construction.

Topics & Concepts

Computer scienceSoftware developmentSoftware engineeringRelevance (law)Context (archaeology)Domain-specific languageSoftwareSelection (genetic algorithm)Software peer reviewData scienceSoftware constructionProgramming languageArtificial intelligenceBiologyLawPaleontologyPolitical scienceSoftware Engineering ResearchSoftware Engineering Techniques and PracticesNatural Language Processing Techniques
Understanding Language Selection in Multi-language Software Projects on GitHub | Litcius