|
ABSTRACT
Optimal program slicing determines for a statement S in a program &pgr; whether or not S affects a specified set of statements, given that all conditionals in &pgr; are interpreted as non-deterministic choices.Only recently, it has been shown that reachability of program points and hence also optimal slicing is undecidable for multi-threaded programs with (parameterless) procedures and synchronization [23]. Here, we sharpen this result by proving that slicing remains undecidable if synchronization is abandoned---although reachability becomes polynomial. Moreover, we show for multi-threaded programs without synchronization, that slicing stays PSPACE-hard when procedure calls are forbidden, and becomes NP-hard for loop-free programs. Since the latter two problems can be solved in PSPACE and NP, respectively, even in presence of synchronization, our new lower bounds are tight.Finally, we show that the above decidability and lower bound properties equally apply to other simple program analysis problems like copy constant propagation and true liveness of variables. This should be contrasted to the problems of strong copy constant propagation and (ordinary) liveness of variables for which polynomial algorithms have been designed [15, 14, 24].
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
|
|
| |
3
|
|
| |
4
|
E. M. Clarke, M. Fujita, S. P. Rajan, T. Reps, S. Shankar, and T. Teitelbaum. Program slicing for VHDL. In Charme'99, Bad Herrenalb, Germany, September 1999.
|
| |
5
|
|
 |
6
|
|
| |
7
|
|
| |
8
|
|
| |
9
|
|
| |
10
|
|
 |
11
|
|
| |
12
|
S. Horwitz, T. Reps, and M. Sagiv. Demand interprocedural data ow analysis. Technical Report TR-1283, Computer Sciences Department, University of Wisconsin, Madison, WI, 1995.
|
| |
13
|
M. Iwaihara, M. Nomura, S. Ichinose, and H. Yasuura. Program slicing on VHDL descriptions and its applications. In Proc. 3rd APCHDL'96, pp. 132-139, Bangalore, 1996.
|
| |
14
|
|
 |
15
|
|
| |
16
|
D. Kozen. Lower bounds for natural proof systems. In IEEE FOCS'77, pp. 254-266, Long Beach, CA, 1977.
|
 |
17
|
|
| |
18
|
L. I. Millett and T. Teitelbaum. Issues in slicing PROMELA and its applications to model checking, protocol understanding, and simulation. STTT, 2(4):343-349, 2000.
|
| |
19
|
|
| |
20
|
|
 |
21
|
|
| |
22
|
S. Owicki and D. Gries. An axiomatic proof technique for parallel programs. Acta Informatica, 6:319-340, 1976.
|
 |
23
|
|
| |
24
|
|
| |
25
|
R. N. Taylor. Complexity of analyzing the synchronization structure of concurrent programs. Acta Informatica, 19:57-84, 1983.
|
| |
26
|
F. Tip. A survey of program slicing techniques. Journal of Programming Languages, 3(3):121-189, 1995.
|
| |
27
|
M. Weiser. Program slicing. IEEE Transactions on Software Engineering, 10(4):352-357, 1984.
|
| |
28
|
|
|