{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,3]],"date-time":"2026-06-03T13:58:39Z","timestamp":1780495119554,"version":"3.54.1"},"reference-count":48,"publisher":"Association for Computing Machinery (ACM)","issue":"FSE","funder":[{"name":"NSF","award":["2243636"],"award-info":[{"award-number":["2243636"]}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. ACM Softw. Eng."],"published-print":{"date-parts":[[2025,6,19]]},"abstract":"<jats:p>Debugging is a critical but challenging task for programmers. This paper proposes ChatDBG, an AI-powered debugging assistant. ChatDBG integrates large language models (LLMs) to significantly enhance the capabilities and user-friendliness of conventional debuggers. ChatDBG lets programmers engage in a collaborative dialogue with the debugger, allowing them to pose complex questions about program state, perform root cause analysis for crashes or assertion failures, and explore open-ended queries like \"why is x null?\". To handle these queries, ChatDBG grants the LLM autonomy to \"take the wheel\": it can act as an independent agent capable of querying and controlling the debugger to navigate through stacks and inspect program state. It then reports its findings and yields back control to the programmer. By leveraging the real-world knowledge embedded in LLMs, ChatDBG can diagnose issues identifiable only through the use of domain-specific reasoning. Our ChatDBG prototype integrates with standard debuggers including LLDB and GDB for native code and Pdb for Python. Our evaluation across a diverse set of code, including C\/C++ code with known bugs and a suite of Python code including standalone scripts and Jupyter notebooks, demonstrates that ChatDBG can successfully analyze root causes, explain bugs, and generate accurate fixes for a wide range of real-world errors. For the Python programs, a single query led to an actionable bug fix 67% of the time; one additional follow-up query increased the success rate to 85%. ChatDBG has seen rapid uptake; it has already been downloaded more than 75,000 times.<\/jats:p>","DOI":"10.1145\/3729355","type":"journal-article","created":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T15:15:34Z","timestamp":1750346134000},"page":"1892-1913","source":"Crossref","is-referenced-by-count":7,"title":["ChatDBG: Augmenting Debugging with Large Language Models"],"prefix":"10.1145","volume":"2","author":[{"ORCID":"https:\/\/orcid.org\/0009-0005-2533-7499","authenticated-orcid":false,"given":"Kyla H.","family":"Levin","sequence":"first","affiliation":[{"name":"University of Massachusetts Amherst, Amherst, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-1708-0073","authenticated-orcid":false,"given":"Nicolas","family":"van Kempen","sequence":"additional","affiliation":[{"name":"University of Massachusetts Amherst, Amherst, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3222-3271","authenticated-orcid":false,"given":"Emery D.","family":"Berger","sequence":"additional","affiliation":[{"name":"University of Massachusetts Amherst, Amherst, USA"},{"name":"Amazon Web Services, Seattle, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]},{"ORCID":"https:\/\/orcid.org\/0009-0000-6992-199X","authenticated-orcid":false,"given":"Stephen N.","family":"Freund","sequence":"additional","affiliation":[{"name":"Williams College, Williamstown, USA"}],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"320","published-online":{"date-parts":[[2025,6,19]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE56229.2023.00208"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/VL"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1476793.1476881"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.48550\/ARXIV.2403.17134"},{"key":"e_1_2_1_5_1","unstructured":"2025. What is clangd? https:\/\/clangd.llvm.org\/"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1214\/aos\/1176344552"},{"key":"e_1_2_1_7_1","volume-title":"Empirical Studies of Programmers: Fifth Workshop. 86","author":"Eisenstadt Marc","year":"1993","unstructured":"Marc Eisenstadt. 1993. Tales of Debugging from The Front Lines. In Empirical Studies of Programmers: Fifth Workshop. 86, Ablex Publishing Corporation, Palo Alto, CA."},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/3597503.3639095"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/3318162"},{"key":"e_1_2_1_10_1","volume-title":"The Twelfth International Conference on Learning Representations, ICLR 2024","author":"Gur Izzeddin","year":"2024","unstructured":"Izzeddin Gur, Hiroki Furuta, Austin V. Huang, Mustafa Safdari, Yutaka Matsuo, Douglas Eck, and Aleksandra Faust. 2024. A Real-World WebAgent with Planning, Long Context Understanding, and Program Synthesis. In The Twelfth International Conference on Learning Representations, ICLR 2024, Vienna, Austria, May 7-11, 2024. OpenReview.net. https:\/\/openreview.net\/forum?id=9JQtrumvg8"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/3290605.3300500"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1073\/PNAS.0507655102"},{"key":"e_1_2_1_13_1","unstructured":"2007. IPython PDB. https:\/\/github.com\/gotcha\/ipdb"},{"key":"e_1_2_1_14_1","unstructured":"2020. IPyflow: A reactive Python kernel for Jupyter notebooks. https:\/\/github.com\/ipyflow\/ipyflow"},{"key":"e_1_2_1_15_1","volume-title":"The Twelfth International Conference on Learning Representations, ICLR 2024","author":"Jimenez Carlos E.","year":"2024","unstructured":"Carlos E. Jimenez, John Yang, Alexander Wettig, Shunyu Yao, Kexin Pei, Ofir Press, and Karthik R. Narasimhan. 2024. SWE-bench: Can Language Models Resolve Real-world Github Issues? In The Twelfth International Conference on Learning Representations, ICLR 2024, Vienna, Austria, May 7-11, 2024. OpenReview.net. https:\/\/openreview.net\/forum?id=VTF8yNQM66"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/3660771"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1007\/S10664-024-10594-X"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1824760.1824761"},{"key":"e_1_2_1_19_1","unstructured":"A. Kotok. 1961. DEC Debugging Tape."},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1109\/ESEM.2013.43"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","unstructured":"Kyla Levin Nicolas van Kempen Emery Berger and Stephen Freund. 2025. Software Artifact for \"ChatDBG: Augmenting Debugging with Large Language Models\". https:\/\/doi.org\/10.5281\/zenodo.15185773 10.5281\/zenodo.15185773","DOI":"10.5281\/zenodo.15185773"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.18653\/V1"},{"key":"e_1_2_1_23_1","volume-title":"Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. In Advances in Neural Information Processing Systems 33: Annual Conference on Neural Information Processing Systems 2020","author":"Lewis Patrick S. H.","year":"2020","unstructured":"Patrick S. H. Lewis, Ethan Perez, Aleksandra Piktus, Fabio Petroni, Vladimir Karpukhin, Naman Goyal, Heinrich K\u00fcttler, Mike Lewis, Wen-tau Yih, Tim Rockt\u00e4schel, Sebastian Riedel, and Douwe Kiela. 2020. Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. In Advances in Neural Information Processing Systems 33: Annual Conference on Neural Information Processing Systems 2020, NeurIPS 2020, December 6-12, 2020, virtual, Hugo Larochelle, Marc\u2019Aurelio Ranzato, Raia Hadsell, Maria-Florina Balcan, and Hsuan-Tien Lin (Eds.). https:\/\/proceedings.neurips.cc\/paper\/2020\/hash\/6b493230205f780e1bc26945df7481e5-Abstract.html"},{"key":"e_1_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/3293882.3330574"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE43902.2021.00067"},{"key":"e_1_2_1_26_1","volume-title":"Proceedings of the Usenix","author":"Linton Mark A.","year":"1990","unstructured":"Mark A. Linton. 1990. The Evolution of Dbx. In Proceedings of the Usenix Summer 1990 Technical Conference, Anaheim, California, USA, June 1990. USENIX Association, Berkeley, CA. 211\u2013220."},{"key":"e_1_2_1_27_1","unstructured":"2010. LLDB Debugger. https:\/\/lldb.llvm.org\/"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/3468264.3468580"},{"key":"e_1_2_1_29_1","unstructured":"Shan Lu Zhenmin Li Feng Qin Lin Tan Pin Zhou and Yuanyuan Zhou. 2005. BugBench: Benchmarks for Evaluating Bug Detection Tools. https:\/\/pages.cs.wisc.edu\/~shanlu\/paper\/63-lu.pdf"},{"key":"e_1_2_1_30_1","unstructured":"Microsoft. 2016. Language Server Protocol. https:\/\/microsoft.github.io\/language-server-protocol"},{"key":"e_1_2_1_31_1","volume-title":"Engineering Record and Replay for Deployability. In 2017 USENIX Annual Technical Conference, USENIX ATC 2017","author":"O\u2019Callahan Robert","year":"2017","unstructured":"Robert O\u2019Callahan, Chris Jones, Nathan Froyd, Kyle Huey, Albert Noll, and Nimrod Partush. 2017. Engineering Record and Replay for Deployability. In 2017 USENIX Annual Technical Conference, USENIX ATC 2017, Santa Clara, CA, USA, July 12-14, 2017, Dilma Da Silva and Bryan Ford (Eds.). USENIX Association, 377\u2013389. https:\/\/www.usenix.org\/conference\/atc17\/technical-sessions\/presentation\/ocallahan"},{"key":"e_1_2_1_32_1","unstructured":"OpenAI. 2020. OpenAI API. https:\/\/openai.com\/index\/openai-api\/"},{"key":"e_1_2_1_33_1","unstructured":"OpenAI. 2023. Function calling and other API updates. https:\/\/openai.com\/index\/function-calling-and-other-api-updates"},{"key":"e_1_2_1_34_1","unstructured":"OpenAI. 2023. GPT-4 Technical Report. arxiv:2303.08774. arxiv:2303.08774"},{"key":"e_1_2_1_35_1","unstructured":"OpenAI. 2024. Pricing - OpenAI. https:\/\/openai.com\/pricing"},{"key":"e_1_2_1_36_1","unstructured":"GNU Project. 2009. Reverse Debugging with GDB. https:\/\/sourceware.org\/gdb\/wiki\/ReverseDebug"},{"key":"e_1_2_1_37_1","volume-title":"AddressSanitizer: A Fast Address Sanity Checker. In 2012 USENIX Annual Technical Conference","author":"Serebryany Konstantin","year":"2012","unstructured":"Konstantin Serebryany, Derek Bruening, Alexander Potapenko, and Dmitriy Vyukov. 2012. AddressSanitizer: A Fast Address Sanity Checker. In 2012 USENIX Annual Technical Conference, Boston, MA, USA, June 13-15, 2012, Gernot Heiser and Wilson C. Hsieh (Eds.). USENIX Association, 309\u2013318. https:\/\/www.usenix.org\/conference\/atc12\/technical-sessions\/presentation\/serebryany"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.14778\/3565838.3565855"},{"key":"e_1_2_1_39_1","volume-title":"Debugging with GDB","author":"Stallman Richard","unstructured":"Richard Stallman, Roland Pesch, and Stan Shebs. 2011. Debugging with GDB. Free Software Foundation, Boston, MA."},{"key":"e_1_2_1_40_1","unstructured":"Jupyter Team. 2015. Jupyter Notebooks. https:\/\/docs.jupyter.org\/en\/latest\/"},{"key":"e_1_2_1_41_1","volume-title":"Program Slicing. In Proceedings of the 5th International Conference on Software Engineering","author":"Weiser Mark D.","year":"1981","unstructured":"Mark D. Weiser. 1981. Program Slicing. In Proceedings of the 5th International Conference on Software Engineering, San Diego, California, USA, March 9-12, 1981, Seymour Jeffrey and Leon G. Stucki (Eds.). IEEE Computer Society, 439\u2013449. http:\/\/dl.acm.org\/citation.cfm?id=802557"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0269888900008122"},{"key":"e_1_2_1_43_1","volume-title":"Systems Development Department","author":"Xerox","year":"1979","unstructured":"Xerox, Systems Development Department. 1979. Mesa Debugger Documentation. https:\/\/www.applefritter.com\/content\/mesa-debugger-documentation"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/3597503.3623342"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.48550\/ARXIV.2405.15793"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-48166-4_16"},{"key":"e_1_2_1_47_1","unstructured":"Andreas Zeller. 2009. Why Programs Fail: A Guide to Systematic Debugging. Morgan Kaufmann. isbn:978-0-12-374515-6"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/3650212.3680384"}],"container-title":["Proceedings of the ACM on Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3729355","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T15:28:58Z","timestamp":1750346938000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3729355"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2025,6,19]]},"references-count":48,"journal-issue":{"issue":"FSE","published-print":{"date-parts":[[2025,6,19]]}},"alternative-id":["10.1145\/3729355"],"URL":"https:\/\/doi.org\/10.1145\/3729355","relation":{},"ISSN":["2994-970X"],"issn-type":[{"value":"2994-970X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2025,6,19]]}}}