On the Impact of Programming Languages on Code Quality A Reproduction Study

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 pr...

Full description

Saved in:
Bibliographic Details
Published inACM transactions on programming languages and systems Vol. 41; no. 4; pp. 1 - 24
Main Authors Berger, Emery D., Hollenbeck, Celeste, Maj, Petr, Vitek, Olga, Vitek, Jan
Format Journal Article
LanguageEnglish
Published New York, NY, USA ACM 31.12.2019
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary: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.
ISSN:0164-0925
1558-4593
DOI:10.1145/3340571