{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,9,10]],"date-time":"2025-09-10T21:49:48Z","timestamp":1757540988191,"version":"3.41.0"},"reference-count":45,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2019,11,22]],"date-time":"2019-11-22T00:00:00Z","timestamp":1574380800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Comput. Educ."],"published-print":{"date-parts":[[2020,3,31]]},"abstract":"<jats:p>Novice programmers often encounter difficulties performing debugging tasks effectively. Even if modern development environments (IDEs) provide high-level support for navigating through code elements and for identifying the right conditions leading to the bug, debugging still requires considerable human effort. Programmers usually have to make hypotheses that are based on both program state evolution and their past debugging experiences. To mitigate this effort and allow novice programmers to gain debugging experience quickly, we propose an approach based on the reuse of existing bugs of open source systems to provide informed guidance from the failure site to the fault position. The goal is to help novices in reasoning on the most promising paths to follow and conditions to define. We implemented this approach as a tool that exploits the knowledge about fault and bug position in the system, as long as any bug of the system is known. The effectiveness of the proposed approach is validated through a quasi-experiment that qualitatively and quantitatively evaluates how the debugging performances of the students change when they are trained using the tool.<\/jats:p>","DOI":"10.1145\/3355616","type":"journal-article","created":{"date-parts":[[2019,11,22]],"date-time":"2019-11-22T18:41:47Z","timestamp":1574448107000},"page":"1-24","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":9,"title":["Reusing Bugged Source Code to Support Novice Programmers in Debugging Tasks"],"prefix":"10.1145","volume":"20","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-6134-2993","authenticated-orcid":false,"given":"Pasquale","family":"Ardimento","sequence":"first","affiliation":[{"name":"University of Bari Aldo Moro, Bari, Italy"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3223-7032","authenticated-orcid":false,"given":"Mario Luca","family":"Bernardi","sequence":"additional","affiliation":[{"name":"Giustino Fortunato University, Benevento BN, Italy"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2403-8313","authenticated-orcid":false,"given":"Marta","family":"Cimitile","sequence":"additional","affiliation":[{"name":"Unitelma Sapienza University, Rome, Italy"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-5582-286X","authenticated-orcid":false,"given":"Giuseppe De","family":"Ruvo","sequence":"additional","affiliation":[{"name":"Independent, ACM SIGCSE Member, Via Sangro, Termoli, Italy"}]}],"member":"320","published-online":{"date-parts":[[2019,11,22]]},"reference":[{"key":"e_1_2_1_1_1","volume-title":"Proceedings of the International Conference on Software and System Processes (ICSSP\u201919)","author":"Ardimento Pasquale","year":"2019","unstructured":"Pasquale Ardimento , Mario L. Bernardi , Marta Cimitile , and Fabrizio M. Maggi . 2019. Evaluating coding behavior in software development processes: A process mining approach . In Proceedings of the International Conference on Software and System Processes (ICSSP\u201919) . IEEE Press, Piscataway, NJ, 84--93. DOI:https:\/\/doi.org\/10.1109\/ICSSP. 2019 .00020 10.1109\/ICSSP.2019.00020 Pasquale Ardimento, Mario L. Bernardi, Marta Cimitile, and Fabrizio M. Maggi. 2019. Evaluating coding behavior in software development processes: A process mining approach. In Proceedings of the International Conference on Software and System Processes (ICSSP\u201919). IEEE Press, Piscataway, NJ, 84--93. DOI:https:\/\/doi.org\/10.1109\/ICSSP.2019.00020"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1929887.1929905"},{"key":"e_1_2_1_3_1","volume-title":"Rombach","author":"Basili Victor R.","year":"1994","unstructured":"Victor R. Basili , Gianluigi Caldiera , and Dieter H . Rombach . 1994 . The Goal Question Metric Approach. Vol. I . John Wiley 8 Sons. Victor R. Basili, Gianluigi Caldiera, and Dieter H. Rombach. 1994. The Goal Question Metric Approach. Vol. I. John Wiley 8 Sons."},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/3159450.3159461"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3180175"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1789934.1789938"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/2259051.2259052"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2729094.2742631"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1109\/FIE.2016.7757447"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/3106740"},{"key":"e_1_2_1_11_1","first-page":"9","article-title":"Its debug: Practical results. J. Comput.g Sci","volume":"30","author":"Carter Elizabeth","year":"2015","unstructured":"Elizabeth Carter . 2015 . Its debug: Practical results. J. Comput.g Sci . Colleges 30 , 3 (2015), 9 -- 15 . Elizabeth Carter. 2015. Its debug: Practical results. J. Comput.g Sci. Colleges 30, 3 (2015), 9--15.","journal-title":"Colleges"},{"key":"e_1_2_1_12_1","volume-title":"Campbell","author":"Cook Thomas D.","year":"1986","unstructured":"Thomas D. Cook and Donald T . Campbell . 1986 . The causal assumptions of quasi-experimental practice. Synthese 68, 1 (1 July 1986), 141--180. DOI:https:\/\/doi.org\/10.1007\/BF00413970 10.1007\/BF00413970 Thomas D. Cook and Donald T. Campbell. 1986. The causal assumptions of quasi-experimental practice. Synthese 68, 1 (1 July 1986), 141--180. DOI:https:\/\/doi.org\/10.1007\/BF00413970"},{"key":"e_1_2_1_13_1","volume-title":"2016 IEEE\/ACM 5th International Workshop on Games and Software Engineering (GAS\u201916)","author":"Deitz S.","year":"2016","unstructured":"S. Deitz and U. Buy . 2016. From video games to debugging code . In 2016 IEEE\/ACM 5th International Workshop on Games and Software Engineering (GAS\u201916) . 37--41. DOI:https:\/\/doi.org\/10.1109\/GAS. 2016 .015 10.1109\/GAS.2016.015 S. Deitz and U. Buy. 2016. From video games to debugging code. In 2016 IEEE\/ACM 5th International Workshop on Games and Software Engineering (GAS\u201916). 37--41. DOI:https:\/\/doi.org\/10.1109\/GAS.2016.015"},{"key":"e_1_2_1_14_1","volume-title":"Debugging static analysis. CoRR abs\/1801.04894","author":"Quang Do Lisa Nguyen","year":"2018","unstructured":"Lisa Nguyen Quang Do , Stefan Kr\u00fcger , Patrick Hill , Karim Ali , and Eric Bodden . 2018. Debugging static analysis. CoRR abs\/1801.04894 ( 2018 ). arxiv:1801.04894 http:\/\/arxiv.org\/abs\/1801.04894 Lisa Nguyen Quang Do, Stefan Kr\u00fcger, Patrick Hill, Karim Ali, and Eric Bodden. 2018. Debugging static analysis. CoRR abs\/1801.04894 (2018). arxiv:1801.04894 http:\/\/arxiv.org\/abs\/1801.04894"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.1988.93698"},{"volume-title":"Visualization and Debugging Tools","author":"Egyed Alexander","key":"e_1_2_1_16_1","unstructured":"Alexander Egyed , Bryan Horling , Raphen Becker , and Robert Balzer . 2003. Visualization and Debugging Tools . Springer US , Boston, MA , 33--42. DOI:https:\/\/doi.org\/10.1007\/978-1-4615-0363-7_4 10.1007\/978-1-4615-0363-7_4 Alexander Egyed, Bryan Horling, Raphen Becker, and Robert Balzer. 2003. Visualization and Debugging Tools. Springer US, Boston, MA, 33--42. DOI:https:\/\/doi.org\/10.1007\/978-1-4615-0363-7_4"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1080\/08993400802114508"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/2462476.2466518"},{"key":"e_1_2_1_19_1","volume-title":"Kim","author":"Grissom Robert J.","year":"2005","unstructured":"Robert J. Grissom and John J . Kim . 2005 . Effect Sizes for Research: A Broad Practical Approach (2nd ed.). Lawrence Earlbaum Associates . Robert J. Grissom and John J. Kim. 2005. Effect Sizes for Research: A Broad Practical Approach (2nd ed.). Lawrence Earlbaum Associates."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2445196.2445368"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/2133797.2133800"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1080\/00207390500285818"},{"volume-title":"Guide to Advanced Empirical Software Engineering","author":"Jedlitschka Andreas","key":"e_1_2_1_23_1","unstructured":"Andreas Jedlitschka , Marcus Ciolkowski , and Dietmar Pfahl . 2008. Reporting experiments in software engineering . In Guide to Advanced Empirical Software Engineering . Springer , 201--228. Andreas Jedlitschka, Marcus Ciolkowski, and Dietmar Pfahl. 2008. Reporting experiments in software engineering. In Guide to Advanced Empirical Software Engineering. Springer, 201--228."},{"key":"e_1_2_1_24_1","volume-title":"International Conference on Convergence and Hybrid Information Technology","volume":"1","author":"Ji J.","year":"2008","unstructured":"J. Ji , G. Woo , H. Park , and J. Park . 2008. Design and implementation of retargetable software debugger based on GDB . In International Conference on Convergence and Hybrid Information Technology , Vol. 1 . 737--740. DOI:https:\/\/doi.org\/10.1109\/ICCIT. 2008 .268 10.1109\/ICCIT.2008.268 J. Ji, G. Woo, H. Park, and J. Park. 2008. Design and implementation of retargetable software debugger based on GDB. In International Conference on Convergence and Hybrid Information Technology, Vol. 1. 737--740. DOI:https:\/\/doi.org\/10.1109\/ICCIT.2008.268"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10648-006-9001-8"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.3991\/ijet.v12i04.6442"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jvlc.2004.08.003"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1109\/VLHCC.2014.6883051"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/357062.357071"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/3286960.3286970"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/3197091.3197098"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-21952-8_16"},{"key":"e_1_2_1_33_1","volume-title":"The Art of Software Testing","author":"Myers Glenford J.","unstructured":"Glenford J. Myers , Corey Sandler , and Tom Badgett . 2011. The Art of Software Testing ( 3 rd ed.). Wiley Publishing . Glenford J. Myers, Corey Sandler, and Tom Badgett. 2011. The Art of Software Testing (3rd ed.). Wiley Publishing.","edition":"3"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/3055301.3068754"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/2666356.2594318"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.5555\/54968"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/1822090.1822126"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/QRS.2016.27"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/199448.199462"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.edurev.2017.09.003"},{"key":"e_1_2_1_41_1","volume-title":"Martin Monperrus, and Marcelo de Almeida Maia.","author":"Sobreira Victor","year":"2018","unstructured":"Victor Sobreira , Thomas Durieux , Fernanda Madeiral Delfim , Martin Monperrus, and Marcelo de Almeida Maia. 2018 . Dissection of a bug dataset: Anatomy of 395 patches from defects4j. CoRR abs\/1801.06393 (2018). arxiv:1801.06393 http:\/\/arxiv.org\/abs\/1801.06393 Victor Sobreira, Thomas Durieux, Fernanda Madeiral Delfim, Martin Monperrus, and Marcelo de Almeida Maia. 2018. Dissection of a bug dataset: Anatomy of 395 patches from defects4j. CoRR abs\/1801.06393 (2018). arxiv:1801.06393 http:\/\/arxiv.org\/abs\/1801.06393"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/3186278"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSMC.1986.289308"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1080\/13562517.2014.901958"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/1118178.1118215"}],"container-title":["ACM Transactions on Computing Education"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3355616","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3355616","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:13:29Z","timestamp":1750202009000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3355616"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,11,22]]},"references-count":45,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2020,3,31]]}},"alternative-id":["10.1145\/3355616"],"URL":"https:\/\/doi.org\/10.1145\/3355616","relation":{},"ISSN":["1946-6226"],"issn-type":[{"type":"electronic","value":"1946-6226"}],"subject":[],"published":{"date-parts":[[2019,11,22]]},"assertion":[{"value":"2019-04-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-07-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-11-22","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}