{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,8,23]],"date-time":"2026-08-23T11:21:10Z","timestamp":1787484070778,"version":"build-2736575974"},"reference-count":64,"publisher":"Association for Computing Machinery (ACM)","issue":"FSE","license":[{"start":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T00:00:00Z","timestamp":1750291200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0\/legalcode"}],"funder":[{"DOI":"10.13039\/501100001665","name":"Agence Nationale de la Recherche","doi-asserted-by":"publisher","award":["ANR-21-CE25-0004"],"award-info":[{"award-number":["ANR-21-CE25-0004"]}],"id":[{"id":"10.13039\/501100001665","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/501100001711","name":"Swiss National Science Foundation","doi-asserted-by":"crossref","award":["200021_197227"],"award-info":[{"award-number":["200021_197227"]}],"id":[{"id":"10.13039\/501100001711","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. ACM Softw. Eng."],"published-print":{"date-parts":[[2025,6,19]]},"abstract":"<jats:p>Debugging consists in understanding the behavior of a program to identify and correct its defects. Breakpoints are the most commonly used debugging tool and aim to facilitate the debugging process by allowing developers to interrupt a program\u2019s execution at a source code location of their choice and inspect the state of the program.<\/jats:p>\n                  <jats:p>\n                    Researchers suggest that in systems developed using object-oriented programming (OOP), traditional breakpoints may be a not effective method for debugging. In OOP, developers create code in classes, which at runtime are instantiated as object\u2014entities with their own state and behavior that can interact with one another. Traditional breakpoints are set within the class code, halting execution for every object that shares that class\u2019s code. This leads to unnecessary interruptions for developers who are focused on monitoring the behavior of a specific object. As an answer to this challenge, researchers proposed\n                    <jats:italic toggle=\"yes\">object-centric debugging,<\/jats:italic>\n                    an approach based on debugging tools that focus on objects rather than classes. In particular, using\n                    <jats:italic toggle=\"yes\">object-centric breakpoints,<\/jats:italic>\n                    developers can select specific objects (rather than classes) for which the execution must be interrupted. Even though it seems reasonable that this approach may ease the debugging process by reducing the time and actions needed for debugging objects, no research has yet verified its actual impact.\n                  <\/jats:p>\n                  <jats:p>To investigate the impact of object-centric breakpoints on the debugging process, we devised and conducted a controlled experiment with 81 developers who spent an average of 1 hour and 30 minutes each on the study. The experiment required participants to complete two debugging tasks using debugging tools with vs. without object-centric breakpoints. We found no significant effect from the use of object-centric breakpoints on the number of actions required to debug or the effectiveness in understanding or fixing the bug. However, for one of the two tasks, we measured a statistically significant reduction in debugging time for participants who used object-centric breakpoints, while for the other task, there was a statistically significant increase. Our analysis suggests that the impact of object-centric breakpoints varies depending on the context and the specific nature of the bug being addressed. In particular, our analysis indicates that object-centric breakpoints can speed up the process of locating the root cause of a bug when the bug can be replicated without needing to restart the program. We discuss the implications of these findings for debugging practices and future research.<\/jats:p>","DOI":"10.1145\/3715759","type":"journal-article","created":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T11:15:34Z","timestamp":1750331734000},"page":"914-935","source":"Crossref","is-referenced-by-count":0,"title":["Empirically Evaluating the Impact of Object-Centric Breakpoints on the Debugging of Object-Oriented Programs"],"prefix":"10.1145","volume":"2","author":[{"ORCID":"https:\/\/orcid.org\/0009-0004-8171-997X","authenticated-orcid":false,"given":"Valentin","family":"Bourcier","sequence":"first","affiliation":[{"name":"University of Lille - Inria - CNRS - Centrale Lille - UMR 9189 CRIStAL, F-59000 Lille, France"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0001-5127-4042","authenticated-orcid":false,"given":"Pooja","family":"Rani","sequence":"additional","affiliation":[{"name":"University of Zurich, Zurich, Switzerland"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-8347-2315","authenticated-orcid":false,"given":"Maximilian Ignacio Willembrinck","family":"Santander","sequence":"additional","affiliation":[{"name":"University of Lille - Inria - CNRS - Centrale Lille - UMR 9189 CRIStAL, F-59000 Lille, France"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0193-6823","authenticated-orcid":false,"given":"Alberto","family":"Bacchelli","sequence":"additional","affiliation":[{"name":"University of Zurich, Zurich, Switzerland"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0003-2787-5432","authenticated-orcid":false,"given":"Steven","family":"Costiou","sequence":"additional","affiliation":[{"name":"University of Lille - Inria - CNRS - Centrale Lille - UMR 9189 CRIStAL, F-59000 Lille, France"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2025,6,19]]},"reference":[{"key":"e_1_3_1_2_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-023-10352-5"},{"key":"e_1_3_1_3_2","doi-asserted-by":"publisher","unstructured":"Moritz Beller Niels Spruit Diomidis Spinellis and Andy Zaidman. 2018. On the Dichotomy of Debugging Behavior Among Programmers. In Proceedings of ICSE 18: 40th International Conference on Software Engineering. https:\/\/doi.org\/10.1145\/3180155.3180175 10.1145\/3180155.3180175","DOI":"10.1145\/3180155.3180175"},{"key":"e_1_3_1_4_2","doi-asserted-by":"publisher","DOI":"10.21105\/joss.02815"},{"key":"e_1_3_1_5_2","doi-asserted-by":"publisher","DOI":"10.1111\/j.2517-6161.1995.tb02031.x"},{"key":"e_1_3_1_6_2","volume-title":"Squeak by Example","author":"Black Andrew","year":"2007","unstructured":"Andrew Black, St\u00e9phane Ducasse, Oscar Nierstrasz, Damien Pollet, Damien Cassou, and Marcus Denker. 2007. Squeak by Example. Square Bracket Associates. https:\/\/github.com\/SquareBracketAssociates\/SqueakByExample-english"},{"key":"e_1_3_1_7_2","first-page":"333","volume-title":"Pharo by Example","author":"Black Andrew P.","year":"2009","unstructured":"Andrew P. Black, St\u00e9phane Ducasse, Oscar Nierstrasz, Damien Pollet, Damien Cassou, and Marcus Denker. 2009. Pharo by Example. Square Bracket Associates, Kehrsatz, Switzerland. 333 pages. http:\/\/books.pharo.org"},{"key":"e_1_3_1_8_2","doi-asserted-by":"publisher","DOI":"10.1145\/3106237.3106255"},{"key":"e_1_3_1_9_2","doi-asserted-by":"publisher","DOI":"10.1109\/SANER60148.2024.00040"},{"key":"e_1_3_1_10_2","doi-asserted-by":"publisher","unstructured":"Valentin Bourcier Steven Costiou Maximilian Ignacio Willembrinck Santander Adrien Van\u00e8gue and Anne Etien. 2024. Time-traveling object-centric breakpoints. Journal of Computer Languages (2024). https:\/\/doi.org\/10.1016\/j.cola.2024.101285 10.1016\/j.cola.2024.101285","DOI":"10.1016\/j.cola.2024.101285"},{"key":"e_1_3_1_11_2","doi-asserted-by":"publisher","unstructured":"Valentin Bourcier Pooja Rani Maximilian Ignacio Willembrinck Santander Alberto Bacchelli and Steven Costiou. 2025. Replication Package for \"Empirically Evaluating the Impact of Object-Centric Breakpoints on the Debugging of Object-Oriented Programs\". https:\/\/doi.org\/10.5281\/zenodo.14844897 10.5281\/zenodo.14844897","DOI":"10.5281\/zenodo.14844897"},{"key":"e_1_3_1_12_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2019.03.002"},{"key":"e_1_3_1_13_2","volume-title":"Research Methods, Design, and Analysis; 12th Edition, Global Edition","author":"Christensen Larry B.","year":"2015","unstructured":"Larry B. Christensen, R. Burke Johnson, and Lisa A. Turner. 2015. Research Methods, Design, and Analysis; 12th Edition, Global Edition. Pearson, Boston, Mass y 2015."},{"key":"e_1_3_1_14_2","doi-asserted-by":"publisher","DOI":"10.4324\/9780203771587"},{"key":"e_1_3_1_15_2","doi-asserted-by":"publisher","unstructured":"Claudio Corrodi. 2016. Towards Efficient Object-Centric Debugging with Declarative Breakpoints. In SATToSE 2016. https:\/\/doi.org\/10.7892\/boris.94640 10.7892\/boris.94640","DOI":"10.7892\/boris.94640"},{"key":"e_1_3_1_16_2","volume-title":"Unanticipated behavior adaptation : application to the debugging of running programs. Ph. D. Dissertation","author":"Costiou Steven","year":"2018","unstructured":"Steven Costiou. 2018. Unanticipated behavior adaptation : application to the debugging of running programs. Ph. D. Dissertation. Universit\u00e9 de Bretagne occidentale - Brest. https:\/\/tel.archives-ouvertes.fr\/tel-02082447"},{"key":"e_1_3_1_17_2","doi-asserted-by":"publisher","DOI":"10.22152\/programming-journal.org\/2020\/4\/5"},{"key":"e_1_3_1_18_2","doi-asserted-by":"publisher","unstructured":"Steven Costiou Vincent Aranega and Marcus Denker. 2022. Reflection as a Tool to Debug Objects. In International Conference on Software Language Engineering (SLE). 55\u201360. https:\/\/doi.org\/10.1145\/3567512.3567517 10.1145\/3567512.3567517","DOI":"10.1145\/3567512.3567517"},{"key":"e_1_3_1_19_2","doi-asserted-by":"publisher","DOI":"10.5381\/jot.2020.19.1.a1"},{"key":"e_1_3_1_20_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2016.2592905"},{"key":"e_1_3_1_21_2","doi-asserted-by":"publisher","DOI":"10.3758\/brm.41.4.1149"},{"key":"e_1_3_1_22_2","doi-asserted-by":"publisher","unstructured":"Eduardo Andreetta Fontana and Fabio Petrillo. 2021. Mapping breakpoint types: an exploratory study. In 2021 IEEE 21st International Conference on Software Quality Reliability and Security (QRS). https:\/\/doi.org\/10.1109\/QRS54544.2021.00110 10.1109\/QRS54544.2021.00110","DOI":"10.1109\/QRS54544.2021.00110"},{"key":"e_1_3_1_23_2","doi-asserted-by":"publisher","DOI":"10.1177\/2515245919847202"},{"key":"e_1_3_1_24_2","doi-asserted-by":"publisher","DOI":"10.1016\/0191-8869(86)90014-0"},{"key":"e_1_3_1_25_2","doi-asserted-by":"publisher","DOI":"10.1177\/1745691614551642"},{"key":"e_1_3_1_26_2","doi-asserted-by":"publisher","DOI":"10.1002\/stvr.1751"},{"key":"e_1_3_1_27_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-349-20570-7_29"},{"key":"e_1_3_1_28_2","unstructured":"Bob Hinkle Vicki Jones and Ralph E Johnson. 1993. Debugging objects. In The Smalltalk Report."},{"key":"e_1_3_1_29_2","doi-asserted-by":"publisher","DOI":"10.1097\/EDE.0b013e31818131e7"},{"key":"e_1_3_1_30_2","doi-asserted-by":"publisher","unstructured":"Matthew B Jan\u00e9 Qinyu Xiao Siu Kit Yeung Mattan S Ben-Shachar Aaron R Caldwell Denis Cousineau Daniel J Dunleavy Mahmoud Elsherif Blair T Johnson David Moreau et al. 2024. Guide to effect sizes and confidence intervals. https:\/\/doi.org\/10.17605\/OSF.IO\/D8C4G 10.17605\/OSF.IO\/D8C4G","DOI":"10.17605\/OSF.IO\/D8C4G"},{"key":"e_1_3_1_31_2","doi-asserted-by":"publisher","DOI":"10.2466\/11.IT.3.1"},{"key":"e_1_3_1_32_2","doi-asserted-by":"publisher","DOI":"10.1007\/BFb0053381"},{"key":"e_1_3_1_33_2","doi-asserted-by":"publisher","DOI":"10.1145\/2688204.2688212"},{"key":"e_1_3_1_34_2","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3180200"},{"key":"e_1_3_1_35_2","doi-asserted-by":"publisher","DOI":"10.1007\/s10664-020-09810-1"},{"key":"e_1_3_1_36_2","doi-asserted-by":"publisher","DOI":"10.1145\/1352678.1352686"},{"key":"e_1_3_1_37_2","unstructured":"Adrian Lienhard St\u00e9phane Ducasse Tudor G\u00eerba and Oscar Nierstrasz. 2006. Capturing How Objects Flow At Runtime. In Proceedings International Workshop on Program Comprehension through Dynamic Analysis (PCODA\u201906). 39\u201343."},{"key":"e_1_3_1_38_2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-02571-6_16"},{"key":"e_1_3_1_39_2","doi-asserted-by":"publisher","DOI":"10.1111\/bmsp.12132"},{"key":"e_1_3_1_40_2","doi-asserted-by":"publisher","DOI":"10.1145\/3055301.3068754"},{"key":"e_1_3_1_41_2","doi-asserted-by":"publisher","unstructured":"Haidar Osman Manuel Leuenberger Mircea Lungu and Oscar Nierstrasz. 2016. Tracking Null Checks in Open-Source Java Systems. In 2016 IEEE 23rd International Conference on Software Analysis Evolution and Reengineering (SANER) Vol. 1. 304\u2013313. https:\/\/doi.org\/10.1109\/SANER.2016.57 10.1109\/SANER.2016.57","DOI":"10.1109\/SANER.2016.57"},{"key":"e_1_3_1_42_2","doi-asserted-by":"publisher","unstructured":"Haidar Osman Mircea Lungu and Oscar Nierstrasz. 2014. Mining frequent bug-fix code changes. In 2014 Software Evolution Week - IEEE Conference on Software Maintenance Reengineering and Reverse Engineering (CSMR-WCRE). 343\u2013347. https:\/\/doi.org\/10.1109\/CSMR-WCRE.2014.6747191 10.1109\/CSMR-WCRE.2014.6747191","DOI":"10.1109\/CSMR-WCRE.2014.6747191"},{"key":"e_1_3_1_43_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2016.12.002"},{"key":"e_1_3_1_44_2","doi-asserted-by":"publisher","DOI":"10.1007\/s11219-015-9294-2"},{"key":"e_1_3_1_45_2","doi-asserted-by":"publisher","DOI":"10.1016\/j.jss.2019.04.028"},{"key":"e_1_3_1_46_2","unstructured":"Pyjack 0.3.2. 2011. pyhtonhosted.org (Accessed: 2024-08-01). https:\/\/pythonhosted.org\/pyjack\/"},{"key":"e_1_3_1_47_2","doi-asserted-by":"publisher","DOI":"10.1145\/3626313"},{"key":"e_1_3_1_48_2","doi-asserted-by":"publisher","unstructured":"Patrick Rein Tom Beckmann Eva Krebs Toni Mattis and Robert Hirschfeld. 2023. Too Simple? Notions of Task Complexity used in Maintenance-based Studies of Programming Tools. In 2023 IEEE\/ACM 31st International Conference on Program Comprehension (ICPC). 254\u2013265. https:\/\/doi.org\/10.1109\/ICPC58990.2023.00040 10.1109\/ICPC58990.2023.00040","DOI":"10.1109\/ICPC58990.2023.00040"},{"key":"e_1_3_1_49_2","volume-title":"Object-Centric Reflection. Ph. D. Dissertation","author":"Ressia Jorge","year":"2012","unstructured":"Jorge Ressia. 2012. Object-Centric Reflection. Ph. D. Dissertation. Institut fur Informatik und angewandte Mathematik."},{"key":"e_1_3_1_50_2","doi-asserted-by":"publisher","unstructured":"Jorge Ressia Alexandre Bergel and Oscar Nierstrasz. 2012. Object-Centric Debugging. In Proceeding of the 34rd international conference on Software engineering (Zurich Switzerland) (ICSE \u20192). https:\/\/doi.org\/10.1109\/ICSE.2012.6227167 10.1109\/ICSE.2012.6227167","DOI":"10.1109\/ICSE.2012.6227167"},{"key":"e_1_3_1_51_2","doi-asserted-by":"publisher","DOI":"10.1007\/s11098-020-01424-z"},{"key":"e_1_3_1_52_2","doi-asserted-by":"publisher","DOI":"10.1109\/ACCESS.2020.3000928"},{"key":"e_1_3_1_53_2","doi-asserted-by":"publisher","DOI":"10.1198\/000313001300339950"},{"key":"e_1_3_1_54_2","doi-asserted-by":"publisher","DOI":"10.1145\/1181775.1181779"},{"key":"e_1_3_1_55_2","unstructured":"Valentin Bourcier Steven Costiou Maximilian Willembrinck. 2021. Pharo experiment wizard. https:\/\/github.com\/Pharo-XP-Tools\/Phex"},{"key":"e_1_3_1_56_2","unstructured":"Gregory Tassey. 2002. The economic impacts of inadequate infrastructure for software testing. National Institute of Standards and Technology (2002)."},{"key":"e_1_3_1_57_2","doi-asserted-by":"publisher","DOI":"10.5555\/558487"},{"key":"e_1_3_1_58_2","doi-asserted-by":"publisher","DOI":"10.1145\/3594671.3594678"},{"key":"e_1_3_1_59_2","doi-asserted-by":"publisher","DOI":"10.1145\/3622758.3622892"},{"key":"e_1_3_1_60_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSMC.1986.289308"},{"key":"e_1_3_1_61_2","doi-asserted-by":"publisher","DOI":"10.1002\/smr.2376"},{"key":"e_1_3_1_62_2","doi-asserted-by":"publisher","DOI":"10.1109\/QRS54544.2021.00074"},{"key":"e_1_3_1_63_2","volume-title":"International Workshop on Smalltalk Technologies (IWST 22)","author":"Willembrinck Maximilian","year":"2022","unstructured":"Maximilian Willembrinck, Steven Costiou, Adrien Van\u00e8gue, and Anne Etien. 2022. Towards Object-Centric Time-Traveling Debuggers. In International Workshop on Smalltalk Technologies (IWST 22). ACM Digital Libraries, Novi Sad, Serbia. https:\/\/inria.hal.science\/hal-03825736"},{"key":"e_1_3_1_64_2","unstructured":"Zhemin Yang Min Yang Lvcai Xu Haibo Chen and Binyu Zang. 2011. ORDER: Object centRic DEterministic Replay for Java. In 2011 USENIX Annual Technical Conference (USENIX ATC 11)."},{"key":"e_1_3_1_65_2","volume-title":"Why programs fail: a guide to systematic debugging","author":"Zeller Andreas","year":"2009","unstructured":"Andreas Zeller. 2009. Why programs fail: a guide to systematic debugging. Elsevier."}],"container-title":["Proceedings of the ACM on Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3715759","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,8,23]],"date-time":"2026-08-23T11:00:26Z","timestamp":1787482826000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3715759"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,6,19]]},"references-count":64,"journal-issue":{"issue":"FSE","published-print":{"date-parts":[[2025,6,19]]}},"alternative-id":["10.1145\/3715759"],"URL":"https:\/\/doi.org\/10.1145\/3715759","relation":{},"ISSN":["2994-970X"],"issn-type":[{"value":"2994-970X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,6,19]]}}}