Programmers' build errors: a case study (at google)

Building is an integral part of the software development process. However, little is known about the compiler errors that occur in this process. In this paper, we present an empirical study of 26.6 million builds produced during a period of nine months by thousands of developers. We describe the workflow through which those builds are generated, and we analyze failure frequency, compiler error types, and resolution efforts to fix those compiler errors. The results provide insights on how a large organization build process works, and pinpoints errors for which further developer support would be most effective.

[1]  C. Brodsky The Discovery of Grounded Theory: Strategies for Qualitative Research , 1968 .

[2]  A. Strauss,et al.  The discovery of grounded theory: strategies for qualitative research aldine de gruyter , 1968 .

[3]  Henry Lieberman,et al.  Bridging the gulf between code and behavior in programming , 1995, CHI '95.

[4]  Naresh R. Pandit The creation of theory: A recent application of the grounded theory method , 1996 .

[5]  An examination of software engineering work practices , 1997, CASCON.

[6]  Matthew C. Jadud A First Look at Novice Compilation Behaviour Using BlueJ , 2005, Comput. Sci. Educ..

[7]  Matthew C. Jadud,et al.  Methods and tools for exploring novice compilation behaviour , 2006, ICER '06.

[8]  Wolfgang De Meuter,et al.  Design recovery and maintenance of build systems , 2007, 2007 IEEE International Conference on Software Maintenance.

[9]  Vivek Sarkar,et al.  An Experiment in Measuring the Productivity of Three Parallel Programming Languages , 2007 .

[10]  Shane McIntosh,et al.  An empirical study of build maintenance effort , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[11]  Gregory Dyke Which aspects of novice programmers' usage of an IDE predict learning outcomes , 2011, SIGCSE '11.

[12]  Hung Viet Nguyen,et al.  Build code analysis with symbolic evaluation , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[13]  Michael W. Godfrey,et al.  Build system issues in multilanguage software , 2012, 2012 28th IEEE International Conference on Software Maintenance (ICSM).

[14]  Sundaresan Krishnan,et al.  Building Useful Program Analysis Tools Using an Extensible Java Compiler , 2012, 2012 IEEE 12th International Working Conference on Source Code Analysis and Manipulation.

[15]  Ewan D. Tempero,et al.  All syntax errors are not equal , 2012, ITiCSE '12.