Skip to main navigation Skip to search Skip to main content

Understanding Language Selection in Multi-language Software Projects on GitHub

  • Wen Li
  • , Na Meng
  • , Li Li
  • , Haipeng Cai
  • Washington State University Pullman

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

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
Subtitle of host publicationCompanion Proceedings, ICSE-Companion 2021
PublisherIEEE Computer Society
Pages256-257
Number of pages2
ISBN (Electronic)9781665412193
DOIs
StatePublished - May 2021
Externally publishedYes
Event43rd IEEE/ACM International Conference on Software Engineering: Companion Proceedings, ICSE-Companion 2021 - Virtual, Online, Spain
Duration: 25 May 202128 May 2021

Publication series

NameProceedings - International Conference on Software Engineering
ISSN (Print)0270-5257

Conference

Conference43rd IEEE/ACM International Conference on Software Engineering: Companion Proceedings, ICSE-Companion 2021
Country/TerritorySpain
CityVirtual, Online
Period25/05/2128/05/21

Keywords

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

Fingerprint

Dive into the research topics of 'Understanding Language Selection in Multi-language Software Projects on GitHub'. Together they form a unique fingerprint.

Cite this