{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,6,13]],"date-time":"2026-06-13T06:30:50Z","timestamp":1781332250459,"version":"3.54.1"},"reference-count":53,"publisher":"Wiley","issue":"6","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":4899,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1993,6]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Programmers spend considerable time debugging code. Symbolic debuggers provide some help but the task remains complex and difficult. Other than breakpoints and tracing, these tools provide little high\u2010level help. Programmers must perform many tasks manually that the tools could perform automatically, such as finding which statements in the program affect the value of an output variable for a given test case, and what was the value of a given variable when the control last reached a given program location. If debugging tools provided explicit support for these tasks, the debugging process could be automated to a significant extent.<\/jats:p><jats:p>In this paper we present a debugging model, based on dynamic program slicing and execution backtracking techniques, that easily lends itself to automation. This model is based on experience with using these techniques to debug software. We also present a prototype debugging tool, SPYDER, that explicitly supports the proposed model, and with which we are performing further debugging research.<\/jats:p>","DOI":"10.1002\/spe.4380230603","type":"journal-article","created":{"date-parts":[[2006,11,17]],"date-time":"2006-11-17T20:33:53Z","timestamp":1163795633000},"page":"589-616","source":"Crossref","is-referenced-by-count":211,"title":["Debugging with dynamic slicing and backtracking"],"prefix":"10.1002","volume":"23","author":[{"given":"Hiralal","family":"Agrawal","sequence":"first","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Richard A.","family":"Demillo","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]},{"given":"Eugene H.","family":"Spafford","sequence":"additional","affiliation":[],"role":[{"vocabulary":"crossref","role":"author"}]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","doi-asserted-by":"publisher","DOI":"10.1145\/71647.71653"},{"key":"e_1_2_1_3_2","doi-asserted-by":"publisher","DOI":"10.1145\/76894.76897"},{"key":"e_1_2_1_4_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380160705"},{"key":"e_1_2_1_5_2","volume-title":"Pi: a case study in object\u2010oriented programming","author":"Cargill Thomas A.","year":"1986"},{"key":"e_1_2_1_5_3","doi-asserted-by":"publisher","DOI":"10.1145\/960112.28733"},{"key":"e_1_2_1_6_2","unstructured":"H.Katsoff \u2018Sdb: a symbolic debugger\u2019 Unix Programmer's Manual 1979."},{"key":"e_1_2_1_7_2","unstructured":"J.MaranzanoandS.Bourne. \u2018A tutorial introduction to ADB \u2019Unix Programmers Manual 1979."},{"key":"e_1_2_1_8_2","volume-title":"Unix Programmers Manual. Supplementary Documents I. 4.3 Berkeley Software Distribution, Computer Science Division","author":"Dunlap Kevin J.","year":"1986"},{"key":"e_1_2_1_9_2","doi-asserted-by":"crossref","unstructured":"Ronald A.Olsson Richard H.Crawford W.Wilson HoandChristopher E.Wee \u2018Sequential debugging at a high level of abstraction\u2019 IEEE Software May1991 pp.27\u201336.","DOI":"10.1109\/52.88941"},{"key":"e_1_2_1_10_2","first-page":"1","volume-title":"Debugging Techniques in Large Systems","author":"Schwartz Jacob T.","year":"1971"},{"key":"e_1_2_1_11_2","doi-asserted-by":"publisher","DOI":"10.1016\/S0020-7373(75)80005-8"},{"key":"e_1_2_1_12_2","doi-asserted-by":"publisher","DOI":"10.1016\/S0020-7373(80)80017-4"},{"key":"e_1_2_1_13_2","volume-title":"Proc. SIGPLAN'90 Conference on Programming Language Design and Implementation, White Plains, New York","author":"Agrawal Hiralal","year":"1990"},{"key":"e_1_2_1_13_3","doi-asserted-by":"publisher","DOI":"10.1145\/93548.93576"},{"key":"e_1_2_1_14_2","doi-asserted-by":"publisher","DOI":"10.1145\/120807.120813"},{"key":"e_1_2_1_15_2","doi-asserted-by":"crossref","unstructured":"HiralalAgrawal Richard A.DeMilloandEugene H.Spafford \u2018An execution backtracking approach to program debugging\u2019 IEEE Software May1991. pp.21\u201326.","DOI":"10.1109\/52.88940"},{"key":"e_1_2_1_16_2","doi-asserted-by":"crossref","unstructured":"KeijiroAraki.ZengoFurukawaandJingdeCheng \u2018A general framework for debugging\u2019 IEEE Software May1911 pp.14\u201320.","DOI":"10.1109\/52.88939"},{"key":"e_1_2_1_17_2","doi-asserted-by":"publisher","DOI":"10.1145\/358557.358577"},{"key":"e_1_2_1_18_2","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1984.5010248"},{"key":"e_1_2_1_19_2","doi-asserted-by":"publisher","DOI":"10.1145\/800020.808263"},{"key":"e_1_2_1_19_3","doi-asserted-by":"publisher","DOI":"10.1145\/390011.808263"},{"issue":"1","key":"e_1_2_1_20_2","doi-asserted-by":"crossref","first-page":"26","DOI":"10.1145\/77606.77608","article-title":"Interprocedural slicing using dependence graphs","volume":"12","author":"Horwitz Susan","year":"1990","journal-title":"ACM Trans. Programming Languages and Systems"},{"key":"e_1_2_1_21_2","doi-asserted-by":"publisher","DOI":"10.1145\/2363.2366"},{"key":"e_1_2_1_22_2","unstructured":"ThomasRepsandW.Yang \u2018The semantics of program slicing\u2019 Technical Report TR\u2010777 Computer Science Department University of Wisconsin Madison Wisconsin June1988."},{"key":"e_1_2_1_23_2","doi-asserted-by":"publisher","DOI":"10.1145\/73141.74820"},{"key":"e_1_2_1_23_3","doi-asserted-by":"publisher","DOI":"10.1145\/74818.74820"},{"key":"e_1_2_1_24_2","first-page":"12","volume-title":"Conference Record of the Sixteenth ACM Symposium on Principles of Programming Languages","author":"Selke R. P.","year":"1989"},{"key":"e_1_2_1_25_2","doi-asserted-by":"publisher","DOI":"10.1145\/113445.113455"},{"key":"e_1_2_1_25_3","doi-asserted-by":"publisher","DOI":"10.1145\/113446.113455"},{"key":"e_1_2_1_26_2","doi-asserted-by":"publisher","DOI":"10.1145\/65979.65980"},{"key":"e_1_2_1_27_2","doi-asserted-by":"publisher","DOI":"10.1109\/32.83912"},{"key":"e_1_2_1_28_2","volume-title":"Proc. Eleventh International Conference on Software Engineering","author":"Ott L.","year":"1989"},{"key":"e_1_2_1_29_2","volume-title":"Proc. COMPSAC","author":"Longworth H.","year":"1986"},{"key":"e_1_2_1_30_2","doi-asserted-by":"publisher","DOI":"10.1016\/0164-1212(90)90094-3"},{"key":"e_1_2_1_31_2","unstructured":"James R.LyleandMarkWeiser \u2018Automatic program bug location by program slicing\u2019 Proc. Second International Conference on Computers and Applications.Beijing China July1987."},{"key":"e_1_2_1_32_2","unstructured":"HiralalAgrawal \u2018Towards automatic debugging of computer programs\u2019 Ph.D. thesis.Department of Computer Sciences Purdue University West Lafayette IN.1991."},{"key":"e_1_2_1_33_2","unstructured":"HsinPanandEugene H.Spafford \u2018Towards automatic localization of software faults\u2019 Proc. 10th Pacific Northwest Software Quality Conference October1992. pp.192\u2013209."},{"key":"e_1_2_1_34_2","first-page":"567","volume-title":"AFIPS Proceedings, Spring Joint Computer Conference","author":"Balzer R. M.","year":"1969"},{"key":"e_1_2_1_35_2","volume-title":"A mechanism for efficient debugging of parallel programs","author":"Miller Barton P.","year":"1988"},{"key":"e_1_2_1_35_3","doi-asserted-by":"publisher","DOI":"10.1145\/960116.54004"},{"key":"e_1_2_1_36_2","doi-asserted-by":"publisher","DOI":"10.1145\/73141.74848"},{"key":"e_1_2_1_36_3","doi-asserted-by":"publisher","DOI":"10.1145\/74818.74848"},{"key":"e_1_2_1_37_2","unstructured":"M. V.Zelkowitz. \u2018Reversible execution as a diagnostic tool\u2019.Ph.D. Thesis Dept. of Computer Science Cornell University January1971."},{"key":"e_1_2_1_38_2","volume-title":"Interlisp Reference Manual, Fourth Edition","author":"Teitelman Warren","year":"1978"},{"key":"e_1_2_1_39_2","doi-asserted-by":"publisher","DOI":"10.1145\/358746.358755"},{"key":"e_1_2_1_40_2","volume-title":"Igor: a system for program debugging via reversible execution","author":"Feldman Stuart I.","year":"1988"},{"key":"e_1_2_1_40_3","doi-asserted-by":"publisher","DOI":"10.1145\/69215.69226"},{"key":"e_1_2_1_41_2","doi-asserted-by":"publisher","DOI":"10.1145\/357233.357234"},{"key":"e_1_2_1_42_2","volume-title":"Using and Porting GNU CC, Version 1.37","author":"Stallman Richard M.","year":"1990"},{"key":"e_1_2_1_43_2","volume-title":"GDB Manual, Third Edition, Version 3.4","author":"Stallman Richard M.","year":"1989"},{"key":"e_1_2_1_44_2","doi-asserted-by":"publisher","DOI":"10.1145\/24039.24041"},{"key":"e_1_2_1_45_2","unstructured":"Edward W.Krauser \u2018Complier\u2010integrated software testing\u2019 PhD thesis Department of Computer Sciences Purdue University West Lafayette IN 1991."},{"key":"e_1_2_1_46_2","volume-title":"Proc. Fifteenth Annual Computer Software and Applications Conference (COMPSAC)","author":"DeMillo Richard A.","year":"1991"}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380230603","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380230603","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,26]],"date-time":"2023-10-26T03:13:57Z","timestamp":1698290037000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380230603"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1993,6]]},"references-count":53,"journal-issue":{"issue":"6","published-print":{"date-parts":[[1993,6]]}},"alternative-id":["10.1002\/spe.4380230603"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380230603","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1993,6]]}}}