Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Theoretical foundations of dynamic program slicing
Binkley D., Danicic S., Gyimóthy T., Harman M., Kiss Á., Korel B. Theoretical Computer Science360 (1):23-41,2006.Type:Article
Date Reviewed: Dec 18 2006

Program slicing was originally introduced by Mark Weiser to formalize the mental process that a programmer follows to find a bug. Essentially, program slicing extracts those sentences that are related to some criterion (referred to as “slicing criterion”), usually given by a pair (set_of_variables, line_number). The original technique was static, in the sense that it did not consider particular input data. Later, Korel and Laski introduced a dynamic form of slicing that considered a concrete program input. Dynamic slicing is particularly well suited for debugging, because bugs are often associated with a particular program run; furthermore, dynamic slices are usually smaller (more precise) than static slices.

This paper shows that, in contrast to what is commonly believed, dynamic slicing is not a particular case of static slicing. Its main contribution is the identification of the main aspects that distinguish both forms of slicing: first, whether input data are provided or not; second, whether all or only some executions of a given statement are relevant; and, third, whether the (filtered) sequence of executed sentences should be preserved or not. The last two aspects have not been considered before. From all possible combinations of these aspects, we get eight forms of slicing (six of which are novel).

The paper is reasonably well written, contains sufficient examples, and includes an adequate comparison to related work. There are two sections that are devoted to formally proving the relationships among the eight forms of slicing. Although some statements are a bit sloppy, this represents a novel and significant result. All in all, this is a must-read paper for researchers interested in the theoretical aspects of slicing.

Reviewer:  German Vidal Review #: CR133712 (0712-1306)
Bookmark and Share
  Featured Reviewer  
 
Program Analysis (F.3.2 ... )
 
 
Algebraic Approaches To Semantics (F.3.2 ... )
 
 
Program Synthesis (I.2.2 ... )
 
 
Automatic Programming (I.2.2 )
 
 
Semantics Of Programming Languages (F.3.2 )
 
Would you recommend this review?
yes
no
Other reviews under "Program Analysis": Date
Practical extraction techniques for Java
Tip F., Sweeney P., Laffra C., Eisma A., Streeter D. ACM Transactions on Programming Languages and Systems 24(6): 625-666, 2002. Type: Article
Mar 10 2003
Design and implementation of a special-purpose static program analyzer for safety-critical real-time embedded software
Blanchet B., Cousot P., Cousot R., Feret J., Mauborgne L., Miné A., Monniaux D., Rival X. In The essence of computation. New York, NY: Springer-Verlag New York, Inc., 2002. Type: Book Chapter
Oct 3 2003
Types in program analysis
Jensen T. In The essence of computation. New York, NY: Springer-Verlag New York, Inc., 2002. Type: Book Chapter
Sep 23 2003
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy