Executable Slicing via Procedure Specialization
| dc.contributor.author | Aung, Min | |
| dc.contributor.author | Horwitz, Susan | |
| dc.contributor.author | Joiner, Rich | |
| dc.contributor.author | Reps, Thomas | |
| dc.date.accessioned | 2012-04-05T15:02:33Z | |
| dc.date.available | 2012-04-05T15:02:33Z | |
| dc.date.issued | 2012-03 | |
| dc.description.abstract | Although Weiser originally defined a program slice to be an executable projection of a program, much of the research on slicing has focused on closure slices, which consist of the set of statements and conditions of the program that might affect the value of a given variable at a given statement or condition of interest. While closure slices can be useful, there are some contexts in which executable slices are preferable. Closure slices are not generally executable because there can be mismatches in the slice between the sets of actual parameters at different call-sites to a procedure p and the formal parameters of p. This paper presents a new approach to creating executable slices. Our algorithm addresses the parameter-mismatch problem by creating specialized versions of procedures that have different sets of formal parameters. Moreover, the slice returned by the algorithm is minimal: the slice consists of the set of specialized procedures that solves a certain coarsest-partition problem. The paper presents solutions for some additional issues that arise with more realistic languages than considered in past work. It also presents the results of an experimental evaluation of the algorithm applied to C programs. | en |
| dc.identifier.citation | TR1711 | en |
| dc.identifier.citation | Succeeded by TR1776 and TR1776-R1 | |
| dc.identifier.uri | http://digital.library.wisc.edu/1793/60991 | |
| dc.publisher | University of Wisconsin-Madison Department of Computer Sciences | |
| dc.subject | coarsest-partition problem | en |
| dc.subject | program slicing | en |
| dc.subject | executable slicing | en |
| dc.subject | program specialization | en |
| dc.subject | pushdown systems | en |
| dc.title | Executable Slicing via Procedure Specialization | en |