{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,7,31]],"date-time":"2026-07-31T22:42:10Z","timestamp":1785537730330,"version":"3.56.0"},"reference-count":113,"publisher":"Springer Science and Business Media LLC","issue":"2","license":[{"start":{"date-parts":[[2020,2,4]],"date-time":"2020-02-04T00:00:00Z","timestamp":1580774400000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2020,2,4]],"date-time":"2020-02-04T00:00:00Z","timestamp":1580774400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"name":"4TU federation"},{"DOI":"10.13039\/501100010198","name":"Ministerio de Econom\u00eda, Industria y Competitividad, Gobierno de Espa\u00f1a","doi-asserted-by":"publisher","award":["RTI2018-101963-B-I00"],"award-info":[{"award-number":["RTI2018-101963-B-I00"]}],"id":[{"id":"10.13039\/501100010198","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100010198","name":"Ministerio de Econom\u00eda, Industria y Competitividad, Gobierno de Espa\u00f1a","doi-asserted-by":"publisher","award":["TIN2014-59400-R"],"award-info":[{"award-number":["TIN2014-59400-R"]}],"id":[{"id":"10.13039\/501100010198","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100003246","name":"Netherlands Organisation for Scientific Research","doi-asserted-by":"crossref","award":["Test- Roots"],"award-info":[{"award-number":["Test- Roots"]}],"id":[{"id":"10.13039\/501100003246","id-type":"DOI","asserted-by":"crossref"}]},{"DOI":"10.13039\/100010667","name":"H2020 Industrial Leadership","doi-asserted-by":"publisher","award":["ICT-10-2016-RIA"],"award-info":[{"award-number":["ICT-10-2016-RIA"]}],"id":[{"id":"10.13039\/100010667","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Empir Software Eng"],"published-print":{"date-parts":[[2020,3]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>When identifying the origin of software bugs, many studies assume that \u201ca bug was introduced by the lines of code that were modified to fix it\u201d. However, this assumption does not always hold and at least in some cases, these modified lines are not responsible for introducing the bug. For example, when the bug was caused by a change in an external API. The lack of empirical evidence makes it impossible to assess how important these cases are and therefore, to which extent the assumption is valid. To advance in this direction, and better understand how bugs \u201care born\u201d, we propose a model for defining criteria to identify the first snapshot of an evolving software system that exhibits a bug. This model, based on the <jats:italic>perfect test<\/jats:italic> idea, decides whether a bug is observed after a change to the software. Furthermore, we studied the model\u2019s criteria by carefully analyzing how 116 bugs were introduced in two different open source software projects. The manual analysis helped classify the root cause of those bugs and created manually curated datasets with bug-introducing changes and with bugs that were not introduced by any change in the source code. Finally, we used these datasets to evaluate the performance of four existing SZZ-based algorithms for detecting bug-introducing changes. We found that SZZ-based algorithms are not very accurate, especially when multiple commits are found; the F-Score varies from 0.44 to 0.77, while the percentage of true positives does not exceed 63%. Our results show empirical evidence that the prevalent assumption, \u201ca bug was introduced by the lines of code that were modified to fix it\u201d, is just one case of how bugs are introduced in a software system. Finding what introduced a bug is not trivial: bugs can be introduced by the developers and be in the code, or be created irrespective of the code. Thus, further research towards a better understanding of the origin of bugs in software projects could help to improve design integration tests and to design other procedures to make software development more robust.<\/jats:p>","DOI":"10.1007\/s10664-019-09781-y","type":"journal-article","created":{"date-parts":[[2020,2,4]],"date-time":"2020-02-04T07:04:02Z","timestamp":1580799842000},"page":"1294-1340","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":63,"title":["How bugs are born: a model to identify how bugs are introduced in software components"],"prefix":"10.1007","volume":"25","author":[{"given":"Gema","family":"Rodr\u00edguez-P\u00e9rez","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Gregorio","family":"Robles","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Alexander","family":"Serebrenik","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Andy","family":"Zaidman","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Daniel M.","family":"Germ\u00e1n","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Jesus M.","family":"Gonzalez-Barahona","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"297","published-online":{"date-parts":[[2020,2,4]]},"reference":[{"key":"9781_CR1","doi-asserted-by":"crossref","unstructured":"Abreu R, Premraj R (2009) How developer communication frequency relates to bug introducing changes. In: Proceedings of the joint international and annual ERCIM workshops on Principles of software evolution (IWPSE) and software evolution (Evol) workshops. ACM, pp 153\u2013158.","DOI":"10.1145\/1595808.1595835"},{"key":"9781_CR2","unstructured":"Alexandru CV, Gall H (2015) Rapid multi-purpose, multi-commit code analysis. In: 2015 IEEE\/ACM 37th IEEE International Conference on Software Engineering (ICSE), vol 2. IEEE, pp 635\u2013638"},{"key":"9781_CR3","doi-asserted-by":"crossref","unstructured":"Aranda J, Venolia G (2009) The secret life of bugs: Going past the errors and omissions in software repositories. In: Proceedings of the 31st international conference on software engineering. IEEE Computer Society, pp 298\u2013308","DOI":"10.1109\/ICSE.2009.5070530"},{"issue":"1","key":"9781_CR4","doi-asserted-by":"publisher","first-page":"42","DOI":"10.1145\/69605.2085","volume":"27","author":"VR Basili","year":"1984","unstructured":"Basili VR, Perricone BT (1984) Software errors and complexity: an empirical investigation. Commun ACM 27(1):42\u201352","journal-title":"Commun ACM"},{"key":"9781_CR5","doi-asserted-by":"crossref","unstructured":"Bavota G, Russo B. (2015) Four eyes are better than two: on the impact of code reviews on software quality. In: 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, pp 81\u201390","DOI":"10.1109\/ICSM.2015.7332454"},{"key":"9781_CR6","doi-asserted-by":"crossref","unstructured":"Beller M, Gousios G, Zaidman A (2015) How (much) do developers test?. In: Proceedings of the International Conference on Software Engineering (ICSE), vol 2. IEEE Computer Society, pp 559\u2013562","DOI":"10.1109\/ICSE.2015.193"},{"key":"9781_CR7","doi-asserted-by":"crossref","unstructured":"Beller M, Gousios G, Zaidman A (2017) Oops, my tests broke the build: an explorative analysis of Travis CI with GitHub. In: Proceedings of the International Conference on Mining Software Repositories (MSR). IEEE, pp 356\u2013367","DOI":"10.1109\/MSR.2017.62"},{"key":"9781_CR8","doi-asserted-by":"crossref","unstructured":"Beller M, Spruit N, Spinellis D, Zaidman A (2018) On the dichotomy of debugging behavior among programmers. In: Proceedings of the International Conference on Software Engineering (ICSE). ACM, pp 572\u2013583","DOI":"10.1145\/3180155.3180175"},{"key":"9781_CR9","doi-asserted-by":"crossref","unstructured":"Berger ED, Hollenbeck C, Maj P, Vitek O, Vitek J (2019) On the impact of programming languages on code quality. arXiv:1901.10220","DOI":"10.1145\/3340571"},{"issue":"2","key":"9781_CR10","doi-asserted-by":"publisher","first-page":"375","DOI":"10.1007\/s10664-012-9205-0","volume":"18","author":"N Bettenburg","year":"2013","unstructured":"Bettenburg N, Hassan AE (2013) Studying the impact of social interactions on software quality. Empir Softw Eng 18(2):375\u2013431","journal-title":"Empir Softw Eng"},{"key":"9781_CR11","doi-asserted-by":"crossref","unstructured":"Bird C, Bachmann A, Aune E, Duffy J, Bernstein A, Filkov V, Devanbu P (2009) Fair and balanced?: bias in bug-fix datasets. In: Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering. ACM, pp 121\u2013130","DOI":"10.1145\/1595696.1595716"},{"key":"9781_CR12","doi-asserted-by":"crossref","unstructured":"Bird C, Rigby PC, Barr E, Hamilton DJ, German DM, Devanbu P (2009) The promises and perils of mining git. In: 6th IEEE international working conference on mining software repositories, 2009. MSR\u201909. IEEE, pp 1\u201310","DOI":"10.1109\/MSR.2009.5069475"},{"key":"9781_CR13","doi-asserted-by":"crossref","unstructured":"Bissyande TF, Thung F, Wang S, Lo D, Jiang L, Reveillere L (2013) Empirical evaluation of bug linking. In: 2013 17th european conference on software maintenance and reengineering (CSMR). IEEE, pp 89\u201398","DOI":"10.1109\/CSMR.2013.19"},{"issue":"37","key":"9781_CR14","doi-asserted-by":"publisher","first-page":"426","DOI":"10.1007\/3-540-27662-9_26","volume":"426","author":"B Boehm","year":"2005","unstructured":"Boehm B, Basili VR (2005) Software defect reduction top 10 list. Foundations of empirical software engineering: the legacy of Victor R Basili 426(37):426\u2013431","journal-title":"Foundations of empirical software engineering: the legacy of Victor R Basili"},{"key":"9781_CR15","unstructured":"Brooks FP Jr (1995) The mythical man-month: essays on software engineering, anniversary edition, 2\/E. Pearson Education India"},{"key":"9781_CR16","doi-asserted-by":"crossref","unstructured":"Canfora G, Cerulo L, Cimitile M, Di Penta M (2011) Social interactions around cross-system bug fixings: the case of freebsd and openbsd. In: Proceedings of the 8th working conference on mining software repositories. ACM, pp 143\u2013152","DOI":"10.1145\/1985441.1985463"},{"key":"9781_CR17","doi-asserted-by":"publisher","first-page":"165","DOI":"10.1016\/j.jss.2019.03.002","volume":"152","author":"G Catolino","year":"2019","unstructured":"Catolino G, Palomba F, Zaidman A, Ferrucci F (2019) Not all bugs are the same Understanding, characterizing, and classifying bug types. J Syst Softw 152:165\u2013181","journal-title":"J Syst Softw"},{"issue":"1","key":"9781_CR18","doi-asserted-by":"publisher","first-page":"63","DOI":"10.1145\/214451.214456","volume":"3","author":"KM Chandy","year":"1985","unstructured":"Chandy KM, Lamport L (1985) Distributed snapshots: Determining global states of distributed systems. ACM Transactions on Computer Systems (TOCS) 3(1):63\u201375","journal-title":"ACM Transactions on Computer Systems (TOCS)"},{"key":"9781_CR19","unstructured":"Chen T. -H., Nagappan M, Shihab E, Hassan AE (2014) An empirical study of dormant bugs. In: Proceedings of the 11th working conference on mining software repositories. ACM, pp 82\u201391"},{"key":"9781_CR20","doi-asserted-by":"crossref","unstructured":"\u010cubranic D, Murphy GC (2003) Hipikat: Recommending pertinent software development artifacts. In: 25th international conference on software engineering, 2003. Proceedings. IEEE, pp 408\u2013418","DOI":"10.1109\/ICSE.2003.1201219"},{"key":"9781_CR21","doi-asserted-by":"crossref","unstructured":"da Costa DA, Kulesza U, Aranha E, Coelho R (2014) Unveiling developers contributions behind code commits: an exploratory study. In: Proceedings of the 29th annual ACM symposium on applied computing. ACM, pp 1152\u20131157","DOI":"10.1145\/2554850.2555030"},{"issue":"7","key":"9781_CR22","doi-asserted-by":"publisher","first-page":"641","DOI":"10.1109\/TSE.2016.2616306","volume":"43","author":"DA da Costa","year":"2017","unstructured":"da Costa DA, McIntosh S, Shang W, Kulesza U, Coelho R, Hassan AE (2017) A framework for evaluating the results of the SZZ approach for identifying bug-introducing changes. IEEE Trans Softw Eng 43(7):641\u2013657","journal-title":"IEEE Trans Softw Eng"},{"issue":"1","key":"9781_CR23","first-page":"107","volume":"26","author":"S Davies","year":"2014","unstructured":"Davies S, Roper M, Wood M (2014) Comparing text-based and dependence-based approaches for determining the origins of bugs. Journal of Software: Evolution and Process 26(1):107\u2013139","journal-title":"Journal of Software: Evolution and Process"},{"key":"9781_CR24","doi-asserted-by":"crossref","unstructured":"Demeyer S, Ducasse S, Nierstrasz O (2002) Object-oriented reengineering patterns. Elsevier","DOI":"10.1016\/B978-155860639-5\/50006-7"},{"key":"9781_CR25","doi-asserted-by":"crossref","unstructured":"Dias M, Bacchelli A, Gousios G, Cassou D, Ducasse S (2015) Untangling fine-grained code changes. In: 2015 IEEE 22nd international conference on software analysis, evolution and reengineering (SANER). IEEE, pp 341\u2013350","DOI":"10.1109\/SANER.2015.7081844"},{"key":"9781_CR26","doi-asserted-by":"crossref","unstructured":"Easterbrook S, Singer J, Storey M. -A., Damian D (2008) Selecting empirical methods for software engineering research. In: Guide to advanced empirical software engineering. Springer, pp 285\u2013311","DOI":"10.1007\/978-1-84800-044-5_11"},{"key":"9781_CR27","doi-asserted-by":"publisher","first-page":"82","DOI":"10.1016\/j.jss.2015.04.066","volume":"106","author":"F Ebert","year":"2015","unstructured":"Ebert F, Castor F, Serebrenik A (2015) An exploratory study on exception handling bugs in Java programs. J Syst Softw 106:82\u2013101","journal-title":"J Syst Softw"},{"key":"9781_CR28","doi-asserted-by":"crossref","unstructured":"Ell J (2013) Identifying failure inducing developer pairs within developer networks. In: Proceedings of the 2013 international conference on software engineering. IEEE Press, pp 1471\u20131473","DOI":"10.1109\/ICSE.2013.6606748"},{"key":"9781_CR29","doi-asserted-by":"crossref","unstructured":"Fischer M, Pinzger M, Gall H (2003) Analyzing and relating bug report data for feature tracking. In: Proceedings of the 10th working conference on reverse engineering (WCRE). IEEE, pp 90\u2013100","DOI":"10.1109\/WCRE.2003.1287240"},{"key":"9781_CR30","doi-asserted-by":"crossref","unstructured":"Fischer M, Pinzger M, Gall H (2003) Populating a release history database from version control and bug tracking systems. In: International conference on software maintenance, 2003. ICSM 2003. Proceedings. IEEE, pp 23\u201332","DOI":"10.1109\/ICSM.2003.1235403"},{"key":"9781_CR31","unstructured":"Fowler M, Beck K, Brant J, Opdyke W, Roberts D (1999) Refactoring: improving the design of existing code. Addison-Wesley Professional"},{"key":"9781_CR32","doi-asserted-by":"crossref","unstructured":"Fraser G, Arcuri A (2013a) Evosuite: On the challenges of test case generation in the real world. In: 2013 IEEE sixth international conference on software testing, verification and validation (ICST). IEEE, pp 362\u2013369","DOI":"10.1109\/ICST.2013.51"},{"issue":"2","key":"9781_CR33","doi-asserted-by":"publisher","first-page":"276","DOI":"10.1109\/TSE.2012.14","volume":"39","author":"G Fraser","year":"2013","unstructured":"Fraser G, Arcuri A (2013b) Whole test suite generation. IEEE Trans Softw Eng 39(2):276\u2013291","journal-title":"IEEE Trans Softw Eng"},{"issue":"10","key":"9781_CR34","doi-asserted-by":"publisher","first-page":"1394","DOI":"10.1016\/j.infsof.2009.04.018","volume":"51","author":"DM German","year":"2009","unstructured":"German DM, Hassan AE, Robles G (2009) Change impact graphs: Determining the impact of prior codechanges. Inf Softw Technol 51(10):1394\u20131408","journal-title":"Inf Softw Technol"},{"issue":"7","key":"9781_CR35","doi-asserted-by":"publisher","first-page":"589","DOI":"10.1002\/smr.1615","volume":"26","author":"JM Gonzalez-Barahona","year":"2014","unstructured":"Gonzalez-Barahona JM, Robles G, Herraiz I, Ortega F (2014) Studying the laws of software evolution in a long-lived floss project. J Softw Evol Process 26 (7):589\u2013612","journal-title":"J Softw Evol Process"},{"key":"9781_CR36","doi-asserted-by":"crossref","unstructured":"Gousios G, Zaidman A, Storey MD, van Deursen A (2015) Work practices and challenges in pull-based development: the integrator\u2019s perspective. In: Bertolino A., Canfora G., Elbaum S.G. (eds) 37th IEEE\/ACM international conference on software engineering, ICSE 2015, Florence, Italy, May 16-24, 2015, vol 1. IEEE Computer Society, pp 358\u2013368","DOI":"10.1109\/ICSE.2015.55"},{"issue":"3","key":"9781_CR37","doi-asserted-by":"publisher","first-page":"611","DOI":"10.2307\/25148742","volume":"30","author":"Gregor","year":"2006","unstructured":"Gregor S (2006) The nature of theory in information systems. MIS quarterly:611\u2013642","journal-title":"MIS Quarterly"},{"key":"9781_CR38","unstructured":"Guerrouj L, Kermansaravi Z, Arnaoudova V, Fung BC, Khomh F, Antoniol G, Gu\u00e9h\u00e9neuc Y-G (2015) Investigating the relation between lexical smells and change-and fault-proneness: an empirical study. Softw Qual J:1\u201330"},{"key":"9781_CR39","doi-asserted-by":"crossref","unstructured":"Hassan AE (2009) Predicting faults using the complexity of code changes. In: IEEE 31st international conference on software engineering, 2009. ICSE 2009. IEEE, pp 78\u201388","DOI":"10.1109\/ICSE.2009.5070510"},{"key":"9781_CR40","unstructured":"Hassan AE, Holt R (2005) The top ten list: Dynamic fault prediction. In: Proceedings of the 21st IEEE international conference on software maintenance, 2005. ICSM\u201905. IEEE, pp 263\u2013272"},{"issue":"2","key":"9781_CR41","doi-asserted-by":"publisher","first-page":"147","DOI":"10.1007\/s10664-009-9117-9","volume":"15","author":"H Hata","year":"2010","unstructured":"Hata H, Mizuno O, Kikuno T (2010) Fault-prone module detection using large-scale text features based on spam filtering. Empir Softw Eng 15(2):147\u2013165","journal-title":"Empir Softw Eng"},{"key":"9781_CR42","doi-asserted-by":"crossref","unstructured":"Herzig K, Just S, Zeller A (2013) It\u2019s not a bug, it\u2019s a feature: how misclassification impacts bug prediction. In: Proceedings of the 2013 international conference on software engineering. IEEE Press, pp 392\u2013401","DOI":"10.1109\/ICSE.2013.6606585"},{"key":"9781_CR43","doi-asserted-by":"crossref","unstructured":"Hilton M, Bell J, Marinov D (2018) A large-scale study of test coverage evolution. In: Proceedings of the 33rd ACM\/IEEE international conference on automated software engineering (ASE). ACM, pp 53\u201363","DOI":"10.1145\/3238147.3238183"},{"key":"9781_CR44","doi-asserted-by":"crossref","unstructured":"Hindle A, German DM, Holt R (2008) What do large commits tell us?: a taxonomical study of large commits. In: Proceedings of the 2008 international working conference on mining software repositories. ACM, pp 99\u2013108","DOI":"10.1145\/1370750.1370773"},{"key":"9781_CR45","unstructured":"Institute of Electrical and Electronics Engineers and IEEE Computer Society. Software Engineering Standards Committee (2009) IEEE standard 1044-2009: Classification for software anomalies. IEEE std IEEE"},{"key":"9781_CR46","unstructured":"ISO\/IEC (2001) ISO\/IEC 9126. Software engineering \u2013 Product quality ISO\/IEC"},{"key":"9781_CR47","unstructured":"Itkonen J, Mantyla MV, Lassenius C (2007) Defect detection efficiency: Test case based vs. exploratory testing. In: First international symposium on empirical software engineering and measurement, 2007. ESEM 2007. IEEE, pp 61\u201370"},{"issue":"2","key":"9781_CR48","doi-asserted-by":"publisher","first-page":"23","DOI":"10.4018\/jossp.2011040102","volume":"3","author":"D Izquierdo-Cortazar","year":"2011","unstructured":"Izquierdo-Cortazar D, Capiluppi A, Gonzalez-Barahona JM (2011) Are developers fixing their own bugs?: Tracing bug-fixing and bug-seeding committers. International Journal of Open Source Software and Processes (IJOSSP) 3(2):23\u201342","journal-title":"International Journal of Open Source Software and Processes (IJOSSP)"},{"key":"9781_CR49","unstructured":"Izquierdo-Cort\u00e1zar D., Robles G, Gonz\u00e1lez-Barahona J. M. (2012) Do more experienced developers introduce fewer bugs? In: IFIP International conference on open source systems. Springer, pp 268\u2013273"},{"issue":"7","key":"9781_CR50","doi-asserted-by":"publisher","first-page":"774","DOI":"10.1016\/j.infsof.2006.09.002","volume":"49","author":"J Jacobs","year":"2007","unstructured":"Jacobs J, Van Moll J, Kusters R, Trienekens J, Brombacher A (2007) Identification of factors that influence defect injection and detection in development of software intensive products. Inf Softw Technol 49(7):774\u2013789","journal-title":"Inf Softw Technol"},{"key":"9781_CR51","doi-asserted-by":"crossref","unstructured":"Kalliamvakou E, Gousios G, Blincoe K, Singer L, German DM, Damian D (2014) The promises and perils of mining GitHub. In: Proceedings of the 11th working conference on mining software repositories. ACM, pp 92\u2013101","DOI":"10.1145\/2597073.2597074"},{"issue":"6","key":"9781_CR52","doi-asserted-by":"publisher","first-page":"757","DOI":"10.1109\/TSE.2012.70","volume":"39","author":"Y Kamei","year":"2013","unstructured":"Kamei Y, Shihab E, Adams B, Hassan AE, Mockus A, Sinha A, Ubayashi N (2013) A large-scale empirical study of just-in-time quality assurance. IEEE Trans Softw Eng 39(6):757\u2013773","journal-title":"IEEE Trans Softw Eng"},{"key":"9781_CR53","doi-asserted-by":"crossref","unstructured":"Kim S, Whitehead E Jr, et al. (2006) Properties of signature change patterns. In: 22nd IEEE international conference on software maintenance, 2006. ICSM\u201906. IEEE, pp 4\u201313","DOI":"10.1109\/ICSM.2006.47"},{"issue":"2","key":"9781_CR54","doi-asserted-by":"publisher","first-page":"181","DOI":"10.1109\/TSE.2007.70773","volume":"34","author":"S Kim","year":"2008","unstructured":"Kim S, Whitehead E Jr, Zhang Y (2008) Classifying software changes: Clean or buggy? IEEE Trans Softw Eng 34(2):181\u2013196","journal-title":"IEEE Trans Softw Eng"},{"key":"9781_CR55","doi-asserted-by":"crossref","unstructured":"Kim S, Zimmermann T, Pan K, Whitehead E Jr (2006) Automatic identification of bug-introducing changes. In: 21st IEEE\/ACM international conference on automated software engineering, 2006. ASE\u201906. IEEE, pp 81\u201390","DOI":"10.1109\/ASE.2006.23"},{"key":"9781_CR56","doi-asserted-by":"crossref","unstructured":"Kim S, Zimmermann T, Whitehead E Jr, Zeller A (2007) Predicting faults from cached history. In: Proceedings of the 29th international conference on software engineering. IEEE Computer Society, pp 489\u2013498","DOI":"10.1109\/ICSE.2007.66"},{"key":"9781_CR57","doi-asserted-by":"crossref","unstructured":"Knauss E, Damian D, Knauss A, Borici A (2014) Openness and requirements: opportunities and tradeoffs in software ecosystems. In: 2014 IEEE 22nd international requirements engineering conference (RE). IEEE, pp 213\u2013222","DOI":"10.1109\/RE.2014.6912263"},{"key":"9781_CR58","doi-asserted-by":"crossref","unstructured":"Knauss E, Liebel G, Horkoff J, Wohlrab R, Kasauli R, Lange F, Gildert P (2018) T-reqs: Tool support for managing requirements in large-scale agile system development. arXiv:1805.02769","DOI":"10.1109\/RE.2018.00073"},{"key":"9781_CR59","doi-asserted-by":"crossref","unstructured":"LaToza TD, Venolia G, DeLine R (2006) Maintaining mental models: a study of developer work habits. In: Proceedings of the 28th international conference on Software engineering. ACM, pp 492\u2013501","DOI":"10.1145\/1134285.1134355"},{"key":"9781_CR60","unstructured":"Le T-DB, Linares-V\u00e1squez M, Lo D, Poshyvanyk D (2015) Rclinker: automated linking of issue reports and commits leveraging rich contextual information. In: 2015 IEEE 23rd international conference on program comprehension (ICPC). IEEE, pp 36\u201347"},{"key":"9781_CR61","doi-asserted-by":"crossref","unstructured":"Li Z, Tan L, Wang X, Lu S, Zhou Y, Zhai C (2006) Have things changed now?: an empirical study of bug characteristics in modern open source software. In: Proceedings of the 1st workshop on Architectural and system support for improving software dependability. ACM, pp 25\u201333","DOI":"10.1145\/1181309.1181314"},{"key":"9781_CR62","doi-asserted-by":"crossref","unstructured":"Marsavina C, Romano D, Zaidman A (2014) Studying fine-grained co-evolution patterns of production and test code. In: 2014 IEEE 14th international working conference on source code analysis and manipulation (SCAM). IEEE, pp 195\u2013204","DOI":"10.1109\/SCAM.2014.28"},{"issue":"12","key":"9781_CR63","doi-asserted-by":"publisher","first-page":"1147","DOI":"10.1109\/TSE.2014.2354037","volume":"40","author":"F Massacci","year":"2014","unstructured":"Massacci F, Nguyen VH (2014) An empirical methodology to evaluate vulnerability discovery models. IEEE Trans Softw Eng 40(12):1147\u20131162","journal-title":"IEEE Trans Softw Eng"},{"key":"9781_CR64","doi-asserted-by":"crossref","unstructured":"Meneely A, Srinivasan H, Musa A, Tejeda AR, Mokary M, Spates B (2013) When a patch goes bad: Exploring the properties of vulnerability-contributing commits. In: 2013 ACM\/IEEE international symposium on empirical software engineering and measurement. IEEE, pp 65\u201374","DOI":"10.1109\/ESEM.2013.19"},{"key":"9781_CR65","doi-asserted-by":"crossref","unstructured":"Mens T, Wermelinger M, Ducasse S, Demeyer S, Hirschfeld R, Jazayeri M (2005) Challenges in software evolution. In: Eighth international workshop on principles of software evolution. IEEE, pp 13\u201322","DOI":"10.1109\/IWPSE.2005.7"},{"issue":"2","key":"9781_CR66","doi-asserted-by":"publisher","first-page":"169","DOI":"10.1002\/bltj.2229","volume":"5","author":"A Mockus","year":"2000","unstructured":"Mockus A, Weiss DM (2000) Predicting risk of software changes. Bell Labs Technical Journal 5(2):169\u2013180","journal-title":"Bell Labs Technical Journal"},{"key":"9781_CR67","doi-asserted-by":"crossref","unstructured":"Moonen L, van Deursen A, Zaidman A, Bruntink M (2008) On the interplay between software testing and evolution and its effect on program comprehension. In: Mens T, Demeyer S (eds) Software evolution. Springer, pp 173\u2013202","DOI":"10.1007\/978-3-540-76440-3_8"},{"issue":"1","key":"9781_CR68","doi-asserted-by":"publisher","first-page":"65","DOI":"10.1109\/TSE.2014.2357438","volume":"41","author":"E Murphy-Hill","year":"2015","unstructured":"Murphy-Hill E, Zimmermann T, Bird C, Nagappan N (2015) The design space of bug fixes and how developers navigate it. IEEE Trans Softw Eng 41(1):65\u201381","journal-title":"IEEE Trans Softw Eng"},{"key":"9781_CR69","doi-asserted-by":"crossref","unstructured":"Nagappan N, Ball T, Zeller A (2006) Mining metrics to predict component failures. In: Proceedings of the 28th international conference on Software engineering. ACM, pp 452\u2013461","DOI":"10.1145\/1134285.1134349"},{"issue":"8","key":"9781_CR70","doi-asserted-by":"publisher","first-page":"830","DOI":"10.1109\/32.83917","volume":"17","author":"T Nakajo","year":"1991","unstructured":"Nakajo T, Kume H (1991) A case history analysis of software error cause-effect relationships. IEEE Trans Softw Eng 17(8):830\u2013838","journal-title":"IEEE Trans Softw Eng"},{"key":"9781_CR71","doi-asserted-by":"crossref","unstructured":"Neto EC, da Costa DA, Kulesza U (2018) The impact of refactoring changes on the SZZ algorithm: an empirical study. In: 2018 IEEE 25th international conference on software analysis, evolution and reengineering (SANER). IEEE, pp 380\u2013390","DOI":"10.1109\/SANER.2018.8330225"},{"key":"9781_CR72","doi-asserted-by":"crossref","unstructured":"Neto EC, da Costa DA, Kulesza U (2019) Revisiting and improving SZZ implementations. In: 2019 ACM\/IEEE International symposium on empirical software engineering and measurement. ACM","DOI":"10.1109\/ESEM.2019.8870178"},{"key":"9781_CR73","doi-asserted-by":"crossref","unstructured":"Nuseibeh B, Easterbrook S (2000) Requirements engineering: a roadmap. In: Proceedings of the conference on the future of software engineering. ACM, pp 35\u201346","DOI":"10.1145\/336512.336523"},{"issue":"5","key":"9781_CR74","doi-asserted-by":"publisher","first-page":"177","DOI":"10.1145\/390011.808263","volume":"19","author":"KJ Ottenstein","year":"1984","unstructured":"Ottenstein KJ, Ottenstein LM (1984) The program dependence graph in a software development environment. ACM Sigplan Notices 19(5):177\u2013184","journal-title":"ACM Sigplan Notices"},{"key":"9781_CR75","unstructured":"Palomba F, Panichella A, Zaidman A, Oliveto R, De Lucia A (2016) Automatic test case generation: what if test code quality matters? In: Proceedings of the 25th international symposium on software testing and analysis (ISSTA). ACM, pp 130\u2013141"},{"key":"9781_CR76","unstructured":"Palomba F, Zaidman A (2017) Does refactoring of test smells induce fixing flaky tests? In: Proceedings of the International Conference on Software Maintenance and Evolution (ICSME). IEEE, pp 1\u201312"},{"issue":"5","key":"9781_CR77","doi-asserted-by":"publisher","first-page":"2907","DOI":"10.1007\/s10664-019-09683-z","volume":"24","author":"F Palomba","year":"2019","unstructured":"Palomba F, Zaidman A (2019) The smell of fear: on the relation between test smells and flaky tests. Empirical Software Engineering (EMSE) 24(5):2907\u20132946","journal-title":"Empirical Software Engineering (EMSE)"},{"issue":"3","key":"9781_CR78","doi-asserted-by":"publisher","first-page":"286","DOI":"10.1007\/s10664-008-9077-5","volume":"14","author":"K Pan","year":"2009","unstructured":"Pan K, Kim S, Whitehead EJ Jr (2009) Toward an understanding of bug fix patterns. Empir Softw Eng 14(3):286\u2013315","journal-title":"Empir Softw Eng"},{"issue":"10","key":"9781_CR79","doi-asserted-by":"publisher","first-page":"1377","DOI":"10.1016\/j.infsof.2014.05.001","volume":"56","author":"L Prechelt","year":"2014","unstructured":"Prechelt L, Pepper A (2014) Why software repositories are not used for defect-insertion circumstance analysis more often: A case study. Inf Softw Technol 56 (10):1377\u20131389","journal-title":"Inf Softw Technol"},{"key":"9781_CR80","doi-asserted-by":"crossref","unstructured":"Rahman F, Khatri S, Barr E, Devanbu P (2014) Comparing static bug finders and statistical prediction. In: Proceedings of the 36th international conference on software engineering. ACM, pp 424\u2013434","DOI":"10.1145\/2568225.2568269"},{"key":"9781_CR81","unstructured":"Rahman F, Posnett D, Hindle A, Barr E, Devanbu P (2011) Bugcache for inspections: hit or miss? In: Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on foundations of software engineering. ACM, pp 322\u2013331"},{"key":"9781_CR82","doi-asserted-by":"crossref","unstructured":"Ray B, Hellendoorn V, Godhane S, Tu Z, Bacchelli A, Devanbu P (2016) On the naturalness of buggy code. In: Proceedings of the 38th international conference on software engineering. ACM, pp 428\u2013439","DOI":"10.1145\/2884781.2884848"},{"key":"9781_CR83","doi-asserted-by":"crossref","unstructured":"Ray B, Posnett D, Filkov V, Devanbu P (2014) A large scale study of programming languages and code quality in github. In: Proceedings of the 22nd ACM SIGSOFT international symposium on foundations of software engineering. ACM, pp 155\u2013165","DOI":"10.1145\/2635868.2635922"},{"key":"9781_CR84","doi-asserted-by":"crossref","unstructured":"Rodr\u00edguez-P\u00e9rez G., Gonzalez-Barahona JM, Robles G, Dalipaj D, Sekitoleko N (2016) Bugtracking: A tool to assist in the identification of bug reports. In: IFIP International conference on open source systems. Springer, pp 192\u2013198","DOI":"10.1007\/978-3-319-39225-7_16"},{"key":"9781_CR85","doi-asserted-by":"crossref","unstructured":"Rodriguez-Perez G, Robles G, Gonzalez-Barahona JM (2017) How much time did it take to notify a bug?: two case studies: elasticsearch and nova. In: Proceedings of the 8th workshop on emerging trends in software metrics. IEEE Press, pp 29\u201335","DOI":"10.1109\/WETSoM.2017.6"},{"key":"9781_CR86","doi-asserted-by":"publisher","first-page":"164","DOI":"10.1016\/j.infsof.2018.03.009","volume":"99","author":"G Rodr\u00edguez-P\u00e9rez","year":"2018","unstructured":"Rodr\u00edguez-P\u00e9rez G, Robles G, Gonz\u00e1lez-Barahona JM (2018a) Reproducibility and credibility in empirical software engineering: A case study based on a systematic literature review of the use of the szz algorithm. Inf Softw Technol 99:164\u2013176","journal-title":"Inf Softw Technol"},{"key":"9781_CR87","doi-asserted-by":"crossref","unstructured":"Rodr\u00edguez-P\u00e9rez G, Zaidman A, Serebrenik A, Robles G, Gonz\u00e1lez-Barahona JM (2018b) What if a bug has a different origin? Making sense of bugs without an explicit bug introducing change. In: 12th international symposium on empirical software engineering and measurement (ESEM). ACM, pp 52:1\u201352:4","DOI":"10.1145\/3239235.3267436"},{"issue":"8","key":"9781_CR88","doi-asserted-by":"publisher","first-page":"529","DOI":"10.1109\/32.536955","volume":"22","author":"G Rothermel","year":"1996","unstructured":"Rothermel G, Harrold MJ (1996) Analyzing regression test selection techniques. IEEE Trans Softw Eng 22(8):529\u2013551","journal-title":"IEEE Trans Softw Eng"},{"key":"9781_CR89","doi-asserted-by":"publisher","DOI":"10.1002\/9781118181034","volume-title":"Case study research in software engineering: Guidelines and examples","author":"P Runeson","year":"2012","unstructured":"Runeson P, Host M, Rainer A, Regnell B (2012) Case study research in software engineering: Guidelines and examples. Wiley, New York"},{"key":"9781_CR90","doi-asserted-by":"crossref","unstructured":"Sahal E, Tosun A (2018) Identifying bug-inducing changes for code additions. In: Proceedings of the 12th ACM\/IEEE international symposium on empirical software engineering and measurement. ACM, p 57","DOI":"10.1145\/3239235.3267440"},{"issue":"5","key":"9781_CR91","doi-asserted-by":"publisher","first-page":"1005","DOI":"10.1007\/s10664-012-9228-6","volume":"18","author":"E Shihab","year":"2013","unstructured":"Shihab E, Ihara A, Kamei Y, Ibrahim WM, Ohira M, Adams B, Hassan AE, Matsumoto K. -i. (2013) Studying re-opened bugs in open source software. Empir Softw Eng 18(5):1005\u20131042","journal-title":"Empir Softw Eng"},{"key":"9781_CR92","doi-asserted-by":"crossref","unstructured":"Sinha VS, Sinha S, Rao S (2010) Buginnings: identifying the origins of a bug. In: Proceedings of the 3rd India software engineering conference. ACM, pp 3\u201312","DOI":"10.1145\/1730874.1730879"},{"key":"9781_CR93","doi-asserted-by":"crossref","unstructured":"\u015aliwerski J, Zimmermann T, Zeller A (2005) When do changes induce fixes?. Proceedings of the 2005 International workshop on mining software repositories: 1\u20135","DOI":"10.1145\/1083142.1083147"},{"key":"9781_CR94","doi-asserted-by":"crossref","unstructured":"Soetens QD, P\u00e9rez J., Demeyer S, Zaidman A (2015) Circumventing refactoring masking using fine-grained change recording. In: Proceedings of the 14th international workshop on principles of software evolution. ACM, pp 9\u201318","DOI":"10.1145\/2804360.2804362"},{"key":"9781_CR95","doi-asserted-by":"publisher","first-page":"33","DOI":"10.1016\/j.infsof.2016.11.010","volume":"84","author":"Y Sun","year":"2017","unstructured":"Sun Y, Wang Q, Yang Y (2017) Frlink: Improving the recovery of missing issue-commit links by revisiting file relevance. Inf Softw Technol 84:33\u201347","journal-title":"Inf Softw Technol"},{"issue":"2","key":"9781_CR96","doi-asserted-by":"publisher","first-page":"176","DOI":"10.1109\/TSE.2014.2361131","volume":"41","author":"MD Syer","year":"2015","unstructured":"Syer MD, Nagappan M, Adams B, Hassan AE (2015) Replicating and re-evaluating the theory of relative defect-proneness. IEEE Trans Softw Eng 41 (2):176\u2013197","journal-title":"IEEE Trans Softw Eng"},{"issue":"6","key":"9781_CR97","doi-asserted-by":"publisher","first-page":"1665","DOI":"10.1007\/s10664-013-9258-8","volume":"19","author":"L Tan","year":"2014","unstructured":"Tan L, Liu C, Li Z, Wang X, Zhou Y, Zhai C (2014) Bug characteristics in open source software. Empir Softw Eng 19(6):1665\u20131705","journal-title":"Empir Softw Eng"},{"key":"9781_CR98","doi-asserted-by":"crossref","unstructured":"Tantithamthavorn C, Teekavanich R, Ihara A, Matsumoto K-i (2013) Mining a change history to quickly identify bug locations: a case study of the eclipse project. In: 2013 IEEE international symposium on software reliability engineering workshops (ISSREW). IEEE, pp 108\u2013113","DOI":"10.1109\/ISSREW.2013.6688888"},{"key":"9781_CR99","doi-asserted-by":"crossref","unstructured":"Thung F, Lo D, Jiang L (2013) Automatic recovery of root causes from bug-fixing changes. In: 2013 20th working conference on reverse engineering (WCRE). IEEE, pp 92\u2013101","DOI":"10.1109\/WCRE.2013.6671284"},{"key":"9781_CR100","doi-asserted-by":"crossref","unstructured":"Vassallo C, Zampetti F, Romano D, Beller M, Panichella A, Penta MD, Zaidman A (2016) Continuous delivery practices in a large financial organization. In: Proceedings of the international conference on software maintenance and evolution (ICSME). IEEE Computer Society, pp 519\u2013528","DOI":"10.1109\/ICSME.2016.72"},{"issue":"6","key":"9781_CR101","doi-asserted-by":"publisher","first-page":"665","DOI":"10.1016\/S0953-5438(98)00049-6","volume":"11","author":"S Viller","year":"1999","unstructured":"Viller S, Bowers J, Rodden T (1999) Human factors in requirements engineering: A survey of human sciences literature relevant to the improvement of dependable systems development processes. Interact Comput 11(6):665\u2013698","journal-title":"Interact Comput"},{"key":"9781_CR102","doi-asserted-by":"crossref","unstructured":"Vonken F, Zaidman A (2012) Refactoring with unit testing: a match made in heaven?. In: Proceeedings of the working conference on reverse engineering (WCRE), pp 29\u201338","DOI":"10.1109\/WCRE.2012.13"},{"key":"9781_CR103","unstructured":"Weiss C, Premraj R, Zimmermann T, Zeller A (2007) How long will it take to fix this bug? In: Fourth international workshop on mining software repositories, 2007. ICSE Workshops MSR\u201907. IEEE, pp 1\u20131"},{"key":"9781_CR104","doi-asserted-by":"crossref","unstructured":"Williams C, Spacco J (2008) SZZ revisited: Verifying when changes induce fixes. In: Proceedings of the 2008 workshop on defects in large software systems. ACM, pp 32\u201336","DOI":"10.1145\/1390817.1390826"},{"key":"9781_CR105","doi-asserted-by":"crossref","unstructured":"Wohlin C, Runeson P, H\u00f6st M, Ohlsson MC, Regnell B, Wessl\u00e9n A (2012) Experimentation in software engineering. Springer Science & Business Media","DOI":"10.1007\/978-3-642-29044-2"},{"key":"9781_CR106","doi-asserted-by":"crossref","unstructured":"Wu R, Zhang H, Kim S, Cheung S-C (2011) Relink: recovering links between bugs and changes. In: Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on foundations of software engineering. ACM, pp 15\u201325","DOI":"10.1145\/2025113.2025120"},{"issue":"1","key":"9781_CR107","doi-asserted-by":"publisher","first-page":"75","DOI":"10.1007\/s10515-014-0162-2","volume":"22","author":"X Xia","year":"2015","unstructured":"Xia X, Lo D, Shihab E, Wang X, Zhou B (2015) Automatic, high accuracy prediction of reopened bugs. Autom Softw Eng 22(1):75\u2013109","journal-title":"Autom Softw Eng"},{"key":"9781_CR108","doi-asserted-by":"crossref","unstructured":"Zaidman A, Van Rompaey B, Demeyer S, van Deursen A (2008) Mining software repositories to study co-evolution of production & test code. In: First international conference on software testing, verification, and validation (ICST). IEEE, pp 220\u2013229","DOI":"10.1109\/ICST.2008.47"},{"issue":"3","key":"9781_CR109","doi-asserted-by":"publisher","first-page":"325","DOI":"10.1007\/s10664-010-9143-7","volume":"16","author":"A Zaidman","year":"2011","unstructured":"Zaidman A, Van Rompaey B, van Deursen A, Demeyer S (2011) Studying the co-evolution of production and test code in open source and industrial developer test processes through repository mining. Empir Softw Eng 16(3):325\u2013364","journal-title":"Empir Softw Eng"},{"key":"9781_CR110","volume-title":"Why programs fail - a guide to systematic debugging","author":"A Zeller","year":"2009","unstructured":"Zeller A (2009) Why programs fail - a guide to systematic debugging, 2nd edn. Academic Press, New York","edition":"2"},{"key":"9781_CR111","unstructured":"Zeller A, Hughes W, Lavery J, Doran K, Morrison CT, Snodgrass RT, St\u00e4rk RF (2011) Causes and effects in computer programs. In: Proceedings of the fifth international workshop on computer, pp 482\u2013508"},{"key":"9781_CR112","doi-asserted-by":"crossref","unstructured":"Zimmermann T, Premraj R, Zeller A (2007) Predicting defects for Eclipse. In: International workshop on predictor models in software engineering, 2007. PROMISE\u201907: ICSE workshops 2007. IEEE, pp 9\u20139","DOI":"10.1109\/PROMISE.2007.10"},{"key":"9781_CR113","doi-asserted-by":"crossref","unstructured":"Zimmermann T, Nagappan N, Guo PJ, Murphy B (2012) Characterizing and predicting which bugs get reopened. In: Proceedings of the 34th international conference on software engineering. IEEE Press, pp 1074\u20131083","DOI":"10.1109\/ICSE.2012.6227112"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-019-09781-y.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10664-019-09781-y\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-019-09781-y.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,2,3]],"date-time":"2021-02-03T00:53:16Z","timestamp":1612313596000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10664-019-09781-y"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,2,4]]},"references-count":113,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2020,3]]}},"alternative-id":["9781"],"URL":"https:\/\/doi.org\/10.1007\/s10664-019-09781-y","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"value":"1382-3256","type":"print"},{"value":"1573-7616","type":"electronic"}],"subject":[],"published":{"date-parts":[[2020,2,4]]},"assertion":[{"value":"4 February 2020","order":1,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}]}}