CSAIL Event Calendar


Fine Slicing for Program Transformation

Speaker: Yishai Feldman, Yishai Feldman, IBM Haifa Research Lab
Date: Wednesday, November 4 2009
Time: 10:00AM to 11:00AM
Location: 32-261
Host: Howard Shrobe, CSAIL
Contact: Howard Shrobe, 617 253-7877, hes@csail.mit.edu
Relevant URL:

Program slicing has many applications, including program understanding and transformation. There are many types of slices that can be computed; however, only full backward slices have an executable semantics, and are therefore the only form that can be used in behavior-preserving transformations. Full backward slices are often too large to be useful in transformation, as they include all preceding computations, some of which should not participate in certain transformations.

We introduce fine slicing, a method for computing program slices that can be bounded by the removal of some data and control dependences. Fine slices are executable and extractable from their surrounding code. As such, they enable the precise and flexible extraction of reusable computations. Both backward and forward fine slices are executable.

Fine slices can also be used to compute co-slices, the part of the program that should be left behind when extracting a fine slice. A new fine-slice extraction algorithm can separate a fine slice from its surrounding code, replacing it with an appropriate call. We show several examples of how fine-slice extraction can be used to generalize the Extract Method refactoring for non-contiguous code.

Joint work with Aharon Abadi and Ran Ettinger, IBM Haifa Research Lab

See other events happening in November 2009


About Us Research News Resources Directory