2015 · 68 citations · 6 references
ComputingComputer ScienceProject ManagementData MiningProgramming LanguagesSoftware EngineeringAbstract Syntax TreesDomain-specific LanguagesFrequent Pattern MiningProgramming Language DesignAnecdotal EvidenceAnecdotal RecordingFrequent Itemset MiningGeneralized Poisson RegressionMultilevel Poisson RegressionOpen-source Software DevelopmentPoisson RegressionSource Code Metrics
Background: Anecdotal evidence suggests that software applications are usually implemented using a combination of (programming) languages. Aim: We want to provide empirical evidence on the phenomenon of multi-language programming. Methods: We use data mining of 1150 open source projects selected for diversity from a public repository to a) investigate the projects for number and type of languages found and the relative sizes of the languages; b) report on associations between the number of languages found and the size, age, number of contributors, and number of commits of a project using a (Quasi-)Poisson regression model, and c) discuss concrete associations between the general-purpose languages and domain-specific languages found using frequent item set mining. Results: We found a) a mean number of 5 languages per project with a clearly dominant main general-purpose language and 5 often-used DSL types, b) a significant influence of the size, number of commits, and the main language on the number of languages as well as no significant influence of age and number of contributors, and c) three language ecosystems grouped around XML, Shell/Make, and HTML/CSS. Conclusions: Multi-language programming seems to be common in open-source projects and is a factor which must be dealt with in tooling and when assessing development and maintenance of such software systems.
6
Fast algorithms for mining association rules
Rakesh Agrawal, Ramakrishnan Srikant · 1998 · 10.8K citations
Regression: models, methods and applications
Choice Reviews Online · 2014 · 392 citations
Diversity in software engineering research
Meiyappan Nagappan, Thomas Zimmermann, Christian Bird · 2013 · 171 citations
A study of language usage evolution in open source software
Siim Karus, Harald C. Gall · 2011 · 56 citations