Software Practice and Experience · 1993 · 309 citations · 39 references
ComputingComputer ScienceCompilersProgramming LanguagesSoftware EngineeringControl-flow AnalysisData-flow AnalysisAutomated DebuggingDebuggingDebugging SupportExecution TracingModel-based DebuggingProgram SlicingSlicingSymbolic Debugging
Debugging consumes significant programmer effort, and existing symbolic debuggers offer limited high‑level assistance, leaving many tasks—such as identifying statements affecting output values or variable states at specific locations—to manual analysis. The study aims to enable substantial automation of debugging by providing tools that explicitly support these high‑level tasks. The authors propose a dynamic slicing and backtracking debugging model and implement it in the prototype tool SPYDER. The prototype tool SPYDER demonstrates the feasibility of the model and is being used for ongoing debugging research.
Abstract 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‐level 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. 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.
39
Mark Weiser · IEEE Transactions on Software Engineering · 1984 · 3.2K citations
Hiralal Agrawal, J.R. Horgan · 1990 · 879 citations · Full text
Programmers use slices when debugging
Mark Weiser · Communications of the ACM · 1982 · 762 citations · Full text