Crafting a compiler
Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Parallelism for free: efficient and optimal bitvector analyses for parallel programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Verification of sequential and concurrent programs (2nd ed.)
Verification of sequential and concurrent programs (2nd ed.)
Static slicing of threaded programs
Proceedings of the 1998 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Efficient algorithms for pre* and post* on interprocedural parallel flow graphs
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Context-sensitive synchronization-sensitive analysis is undecidable
ACM Transactions on Programming Languages and Systems (TOPLAS)
Program Verification
Euro-Par '98 Proceedings of the 4th International Euro-Par Conference on Parallel Processing
Constrained Properties, Semilinear Systems, and Petri Nets
CONCUR '96 Proceedings of the 7th International Conference on Concurrency Theory
Slicing Concurrent Programs - A Graph-Theoretical Approach
AADEBUG '93 Proceedings of the First International Workshop on Automated and Algorithmic Debugging
Invariance of Approximate Semantics with Respect to Program Transformations
GI - 11. Jahrestagung in Verbindung mit Third Conference of the European Co-operation in Informatics (ECI)
The program dependence graph in a software development environment
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Slicing Concurrent Java Programs
IWPC '99 Proceedings of the 7th International Workshop on Program Comprehension
Computation: finite and infinite machines
Computation: finite and infinite machines
Formal and Natural Computing - Essays Dedicated to Grzegorz Rozenberg [on occasion of his 60th birthday, March 14, 2002]
Formal and natural computing
Context-sensitive slicing of concurrent programs
Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
Granularity-Driven Dynamic Predicate Slicing Algorithms for Message Passing Systems
Automated Software Engineering
Precise interprocedural dependence analysis of parallel programs
Theoretical Computer Science
A brief survey of program slicing
ACM SIGSOFT Software Engineering Notes
Optimizing slicing of formal specifications by deductive verification
Nordic Journal of Computing - Selected papers of the 17th nordic workshop on programming theory (NWPT'05), October 19-21, 2005
Interprocedural slicing of multithreaded programs with applications to Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Precise slicing of concurrent programs
Automated Software Engineering
VMCAI'11 Proceedings of the 12th international conference on Verification, model checking, and abstract interpretation
Advanced chopping of sequential and concurrent programs
Software Quality Control
Improved program dependence graph and algorithm for static slicing concurrent programs
APPT'05 Proceedings of the 6th international conference on Advanced Parallel Processing Technologies
Complexity of Data Dependence Problems for Program Schemas with Concurrency
ACM Transactions on Computational Logic (TOCL)
A vocabulary of program slicing-based techniques
ACM Computing Surveys (CSUR)
Precise fixpoint-based analysis of programs with thread-creation and procedures
CONCUR'07 Proceedings of the 18th international conference on Concurrency Theory
Hi-index | 0.01 |
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].