Does Unit-Tested Code Crash? A Case Study of Eclipse

作者: Diomidis Spinellis , Ioannis Batas , Efstathia Chioteli

DOI:

关键词: Source codeCode (cryptography)Context (language use)Computer scienceCode coverageUnit testingTest codeCrashIncident reportSoftware developmentReliability engineeringProcess (computing)

摘要: Context: Software development projects increasingly adopt unit testing as a way to identify and correct program faults early in the construction process. Code that is tested should therefore have fewer failures associated with it. Objective: Compare number of field arising code against those has not been tested. Method: We retrieved 2,083,979 crash incident reports Eclipse integrated environment project, processed them obtain set 126,026 unique failure stack traces specific popular release. then run JaCoCo test coverage analysis on same release, obtaining results line, instruction, branch-level 216,392 methods. also extracted from source classes are linked corresponding class so limit 1,267 actual tests. Finally, we correlated tests at level 9,523 failing Results: Unit-tested does appear be failures. Conclusion: Unit its own may sufficient method for preventing

参考文章(33)
Kent Beck, Erich Gamma, Test-infected: programmers love writing tests More Java gems. pp. 357- 376 ,(2000) , 10.1017/CBO9780511550881.029
T.J. McCabe, A Complexity Measure IEEE Transactions on Software Engineering. ,vol. SE-2, pp. 308- 320 ,(1976) , 10.1109/TSE.1976.233837
Thomas Ball, Peter Mataga, Mooly Sagiv, Edge profiling versus path profiling: the showdown symposium on principles of programming languages. pp. 134- 148 ,(1998) , 10.1145/268946.268958
Ross Ihaka, Robert Gentleman, R: A Language for Data Analysis and Graphics Journal of Computational and Graphical Statistics. ,vol. 5, pp. 299- 314 ,(1996) , 10.1080/10618600.1996.10474713
D. Geer, Eclipse becomes the dominant Java IDE IEEE Computer. ,vol. 38, pp. 16- 18 ,(2005) , 10.1109/MC.2005.228
Jerod W. Wilkerson, Jay F. Nunamaker, Rick Mercer, Comparing the Defect Reduction Benefits of Code Inspection and Test-Driven Development IEEE Transactions on Software Engineering. ,vol. 38, pp. 547- 560 ,(2012) , 10.1109/TSE.2011.46
Pavneet Singh Kochhar, Ferdian Thung, David Lo, Code coverage and test suite effectiveness: Empirical study with real bugs in large systems ieee international conference on software analysis evolution and reengineering. pp. 560- 564 ,(2015) , 10.1109/SANER.2015.7081877
Andrew J. Ko, Brad A. Myers, A framework and methodology for studying the causes of software errors in programming systems Journal of Visual Languages & Computing. ,vol. 16, pp. 41- 84 ,(2005) , 10.1016/J.JVLC.2004.08.003
Hussan Munir, Misagh Moayyed, Kai Petersen, Considering rigor and relevance when evaluating test driven development: A systematic review Information & Software Technology. ,vol. 56, pp. 375- 394 ,(2014) , 10.1016/J.INFSOF.2014.01.002
J. H. Andrews, L. C. Briand, Y. Labiche, Is mutation an appropriate tool for testing experiments international conference on software engineering. pp. 402- 411 ,(2005) , 10.1145/1062455.1062530