|
ABSTRACT
Program slicing is a technique for isolating computational threads in programs. In this paper, we show how to mechanically extract a family of practical algorithms for computing slices directly from semantic specifications. These algorithms are based on combining the notion of dynamic dependence tracking in term rewriting systems with a program representation whose behavior is defined via an equational logic. Our approach is distinguished by the fact that changes to the behavior of the slicing algorithm can be accomplished through simple changes in rewriting rules that define the semantics of the program representation. Thus, e.g., different notions of dependence may be specified, properties of language-specific datatypes can be exploited, and various time, space, and precision tradeoffs may be made. This flexibility enables us to generalize the traditional notions of static and dynamic slices to that of a constrained slice, where any subset of the inputs of a program may be supplied.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
| |
2
|
BALL, T. Personal communication.
|
 |
3
|
Karl J. Ottenstein , Robert A. Ballance , Arthur B. MacCabe, The program dependence web: a representation supporting control-, data-, and demand-driven interpretation of imperative languages, Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation, p.257-271, June 1990, White Plains, New York, United States
|
| |
4
|
H P Barendregt , M C J D Eekelen , J R W Glauert , J R Kennaway , M J Plasmeijer , M R Sleep, Term graph rewriting, Volume II: Parallel Languages on PARLE: Parallel Architectures and Languages Europe, p.141-158, March 1987, Eindhoven, The Netherlands
|
 |
5
|
|
 |
6
|
|
 |
7
|
|
| |
8
|
DUESTERWALD, E., GUPTA, R., AND SOFFA, M. Rigorous data flow testing through output influences. In Proceedings of the Second Irvine Software Symposium ISS'92 (Cahfornia, 1992), pp. 131-145.
|
| |
9
|
ERNST, M. Practical fine-grained static slicing of optimized code. Tech. Rep. MSR-TR-94-14, Microsoft Research, Redmond, WA, 1994.
|
 |
10
|
|
 |
11
|
|
| |
12
|
FIELD, J. A simple rewriting semantics for realistic imperative programs and its application to program analysis. In Proc. ACM SIGPLAN Workshop on Partial Evaluatton and Semantics-Based Program ManipuIanon (San Francisco. June 1992), pp 98-107 Published as Yale University Technical Report YALEU/DCS/RR-909.
|
| |
13
|
FIELD, J., AND TIP, E Dynamic dependence in term rewnting systems and its application to program slicing. Tech. Rep. RC 19?q?, IBM T.J. Watson Research Center, November t994. (Corrected and expanded version of {14}).
|
| |
14
|
|
| |
15
|
|
 |
16
|
|
| |
17
|
|
| |
18
|
|
 |
19
|
|
| |
20
|
|
| |
21
|
|
 |
22
|
|
| |
23
|
LARUS, J., AND CI-IANDRA, S. Using tracing and dynamic slicing to tune compilers. Computer Science Technical Report 1174, University of Wisconsin-Madison, 1993.
|
 |
24
|
|
| |
25
|
|
| |
26
|
|
| |
27
|
|
| |
28
|
|
| |
29
|
TIP, F. Generation of Program Analysts Tools. PhD thesis, University of Amsterdam, 1995. Forthcoming.
|
 |
30
|
|
 |
31
|
|
| |
32
|
WEISER, M. Reconstructing sequential behavior from parallel behavior projections. Information Processmg Letters 17, 3 (1983), I29-135.
|
| |
33
|
WEISER, M. Program shcing. IEEE Transactions on Software Engineering 10, 4 (1984), 352-357.
|
CITED BY 26
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Michael R. Laurence , Sebastian Danicic , Mark Harman , Rob Hierons , John Howroyd, Equivalence of conservative, free, linear program schemas is decidable, Theoretical Computer Science, v.290 n.1, p.831-862, 1 January 2003
|
|
|
|
|
|
Akira Nishimatsu , Minoru Jihira , Shinji Kusumoto , Katsuro Inoue, Call-mark slicing: an efficient and economical way of reducing slice, Proceedings of the 21st international conference on Software engineering, p.422-431, May 16-22, 1999, Los Angeles, California, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sebastian Danicic , Mohammed Daoudi , Chris Fox , Mark Harman , Robert M. Hierons , John R. Howroyd , Lahcen Ourabya , Martin Ward, ConSUS: a light-weight program conditioner, Journal of Systems and Software, v.77 n.3, p.241-262, September 2005
|
|
|
Nurit Dor , Tal Lev-Ami , Shay Litvak , Mooly Sagiv , Dror Weiss, Customization change impact analysis for erp professionals via program slicing, Proceedings of the 2008 international symposium on Software testing and analysis, July 20-24, 2008, Seattle, WA, USA
|
|
|
Mark Harman , Lin Hu , Malcolm Munro , Xingyuan Zhang , Dave Binkley , Sebastian Danicic , Mohammed Daoudi , Lahcen Ouarbya, Syntax-Directed Amorphous Slicing, Automated Software Engineering, v.11 n.1, p.27-61, January 2004
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|