Understanding Language Selection in Multi-language Software Projects on GitHub

Wen Li, Na Meng, Li Li, Haipeng Cai

Research output: Chapter in Book/Report/Conference proceedingConference PaperOther

18 Citations (Scopus)

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.

Original languageEnglish
Title of host publicationProceedings - 2021 IEEE/ACM 43rd International Conference on Software Engineering: Companion Proceedings
EditorsNatalia Juristo
Place of PublicationPiscataway NJ USA
PublisherIEEE, Institute of Electrical and Electronics Engineers
Pages256-257
Number of pages2
ISBN (Electronic)9781665412193
DOIs
Publication statusPublished - May 2021
EventInternational Conference on Software Engineering 2021 - Online, Madrid, Spain
Duration: 25 May 202128 May 2021
Conference number: 43rd
https://conf.researchr.org/committee/icse-2021/icse-2021-organizing-committe
https://conf.researchr.org/home/icse-2021
https://ieeexplore.ieee.org/xpl/conhome/9401807/proceeding (Proceedings)

Publication series

NameProceedings - International Conference on Software Engineering
PublisherIEEE, Institute of Electrical and Electronics Engineers
ISSN (Print)0270-5257

Conference

ConferenceInternational Conference on Software Engineering 2021
Abbreviated titleICSE 2021
Country/TerritorySpain
CityMadrid
Period25/05/2128/05/21
Internet address

Keywords

  • evolution
  • functionality relevance
  • language selection
  • Multi-language software

Cite this