On the Impact of Programming Languages on Code Quality

Author:

Berger Emery D.1,Hollenbeck Celeste2,Maj Petr3,Vitek Olga2,Vitek Jan4ORCID

Affiliation:

1. University of Massachusetts Amherst and Microsoft Research

2. Northeastern University

3. Czech Technical University in Prague

4. Northeastern University and Czech Technical University in Prague

Abstract

In a 2014 article, Ray, Posnett, Devanbu, and Filkov claimed to have uncovered a statistically significant association between 11 programming languages and software defects in 729 projects hosted on GitHub. Specifically, their work answered four research questions relating to software defects and programming languages. With data and code provided by the authors, the present article first attempts to conduct an experimental repetition of the original study. The repetition is only partially successful, due to missing code and issues with the classification of languages. The second part of this work focuses on their main claim, the association between bugs and languages, and performs a complete, independent reanalysis of the data and of the statistical modeling steps undertaken by Ray et al. in 2014. This reanalysis uncovers a number of serious flaws that reduce the number of languages with an association with defects down from 11 to only 4. Moreover, the practical effect size is exceedingly small. These results thus undermine the conclusions of the original study. Correcting the record is important, as many subsequent works have cited the 2014 article and have asserted, without evidence, a causal link between the choice of programming language for a given task and the number of software defects. Causation is not supported by the data at hand; and, in our opinion, even after fixing the methodological flaws we uncovered, too many unaccounted sources of bias remain to hope for a meaningful comparison of bug rates across languages.

Funder

Czech Ministry of Education, Youth and Sports

NSF

European Research Council under the European Union's Horizon 2020 research and innovation programme

Publisher

Association for Computing Machinery (ACM)

Subject

Software

Reference31 articles.

1. Controlling the false discovery rate: A practical and powerful approach to multiple testing;Benjamini Yoav;J. Roy. Stat. Soc. B,1995

2. Fair and balanced?

3. GitcProc: a tool for processing and classifying GitHub commits

4. Premkumar T. Devanbu. 2018. Research Statement. Retrieved from www.cs.ucdavis.edu/∼devanbu/research.pdf. Premkumar T. Devanbu. 2018. Research Statement. Retrieved from www.cs.ucdavis.edu/∼devanbu/research.pdf.

Cited by 33 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. Enhancing embedded systems development with TS$$^-$$;Automated Software Engineering;2023-12-06

2. Towards Causal Analysis of Empirical Software Engineering Data: The Impact of Programming Languages on Coding Competitions;ACM Transactions on Software Engineering and Methodology;2023-11-24

3. How are Multilingual Systems Constructed: Characterizing Language Use and Selection in Open-Source Multilingual Software;ACM Transactions on Software Engineering and Methodology;2023-11-06

4. Análise comparativa entre linguagens de programação em sistemas embarcados móveis Android;Proceedings of the XXVII Brazilian Symposium on Programming Languages;2023-09-25

5. Commit Classification Into Software Maintenance Activities: A Systematic Literature Review;2023 IEEE 47th Annual Computers, Software, and Applications Conference (COMPSAC);2023-06

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3