Loading...
Please wait, while we are loading the content...
Hybrid Slicing: Integrating Dynamic Information with Static Analysis (1997)
| Content Provider | CiteSeerX |
|---|---|
| Author | Howard, John Soffa, Mary Lou Gupta, Rajiv |
| Abstract | Program slicing is an effective technique for narrowing the focus of attention to the relevant parts of a program during the debugging process. However, imprecision is a problem in static slices, since they are based on all possible executions that reach a given program point rather than the specific execution under which the program is being debugged. Dynamic slices, based on the specific execution being debugged, are precise but incur high run-time overhead due to the tracing information that is collected during the program’s execution. We present a hybrid slicing technique that integrates dynamic information from a specific execution into a static slice analysis. The hybrid slice produced is more precise than the static slice and less costly than the dynamic slice. The technique exploits dynamic information that is readily available during debugging—namely, breakpoint information and the dynamic call graph. This information is integrated into a static slicing analysis to more accurately estimate the potential paths taken by the program. The breakpoints and call/return points, used as reference points, divide the execution path into intervals. By associating each statement in the slice with an execution interval, hybrid slicing provides information as to when a statement was encountered during execution. Another attractive feature of our approach is that it allows the user to control the cost of hybrid slicing by limiting the amount of dynamic information used in computing the slice. We implemented the hybrid slicing technique to demonstrate the feasibility of our approach. |
| File Format | |
| Journal | ACM Transactions on Software Engineering and Methodology |
| Publisher Date | 1997-01-01 |
| Access Restriction | Open |
| Subject Keyword | Program Slicing Integrating Dynamic Information Potential Path Possible Execution Breakpoint Information Reference Point Static Slicing Analysis Static Slice Analysis Execution Interval Static Analysis Hybrid Slice Attractive Feature Effective Technique Dynamic Call Graph Hybrid Slicing Incur High Run-time Overhead Static Slice Execution Path Dynamic Slice Debugging Process Dynamic Information Hybrid Slicing Technique Program Execution Program Point Return Point Specific Execution Relevant Part |
| Content Type | Text |