Abstract
Static program slicing is an established method for analyzing sequential programs, especially for program understanding, debugging and testing. Until now, there was no slicing method for threaded programs which handles interference correctly. We present such a method which also calculates more precise static slices. This paper extends the well known structures of the control flow graph and the program dependencc graph for threaded programs with interference. This new technique does not require serialization of threaded programs.
- 1 J. Cheng. Slicing concurrent programs. In Automated and Algorithmic Debugging, 1st Intl. Workshop, LNCS 749,1993. Google ScholarDigital Library
- 2 J. Cheng. Dependence analysis of parallel and distributed programs and its applications. In Intl. Co$ on Advances in Parallel and Distributed Computing, 1997. Google ScholarDigital Library
- 3 J.-D. Choi, B. P. Miller, and R. H. B. Netzer. Techniques for debugging parallel programs with flowback analysis. ACM Transactions on Programming Languages and Systems, 13(4), 1991. Google ScholarDigital Library
- 4 E. Duesterwald, R. Gupta, and M. L. Soffa. Distributed slicing and partial re-execution for distributed programs. In 5th Workshop on Languages and Compilers for Parallel Computing, LNCS 757, 1992. Google ScholarDigital Library
- 5 J. Fenante, K. J. Ottenstein, and J. D. Warren. The program dependence graph and its use in optimization. ACM Transactions on Programming Languages and Systems, 9(3), 1987. Google ScholarDigital Library
- 6 M. Goldapp, U. Grottker, and G. Snelting. Validierung softwaregesteuerter Meljsysteme durch Program Slicing und Constraint Solving. In Statusseminar des BMBF Sojiiaretechnologie, Berlin, 1996.Google Scholar
- 7 S. Horwitz, T. Reps, and D. Binkley. Interprocedural slicing using dependence graphs. ACM Transactions on Programming Languages and Systems, 12(l), 1990. Google ScholarDigital Library
- 8 J. Knoop, B. Steffen, and J. Vollmer. Parallelism for free: Efficient and optimal bitvector analyses for parallel programms. ACM Transactions on Programming Languages and Systems, 18(3), 1996. Google ScholarDigital Library
- 9 B. Korel and R. Ferguson. Dynamic slicing of distributed programs. Applied Mathematics and Computer Science, 2, 1992.Google Scholar
- 10 B. Korel and J. Laski. Dynamic program slicing. Injbrmution Processing Letters, 29(3), 1988. Google ScholarDigital Library
- 11 L. D. Larsen and M. J. Harrold. Slicing objectoriented software. In Proc. 18th Intl. Conf on S@ware Engineering, 1996. Google ScholarDigital Library
- 12 C. E. McDowell and D. P. Helmbold. Debugging concurrent programs. ACM Computing Surveys, 21(4). 1989. Google ScholarDigital Library
- 13 B. P. Miller and J. D. Choi. A mechanism for efficient debugging of parallel systems. In Proc. ACMSIGPLAN Conf: on Programming Language De.rign and Implementution. 1988. Google ScholarDigital Library
- 14 K. J. Ottenstein and L. M. Ottenstem. The program dependence graph in a software development environment. In Proc. ACM SIGSOFT/SIGPLAN Sqftware Engineering Svmposium on Pructicul Software Development Environments, 1984. Google ScholarDigital Library
- 15 V. Sarkar and B. Simons. Parallel program graphs and their classification. In Proc. 6th Workshop on Languages and Compilers,for Parallel Computing, LNCS 768, 1993. Google ScholarDigital Library
- 16 G. Snelting. Combining slicing and constraint solving for validation of measurement software. In Static Analysis; Third Intl. Symposium, LNCS 1145, 1996. Google ScholarDigital Library
- 17 F. Tip. A survey of program slicing techniques. Journal qf Programming Languages, 3(3), 1995.Google Scholar
- 18 N. Uchihira, S. Honiden, and T. Seki. Hypersequential programming. IEEE Concurrency, July-September 1997.Google Scholar
- 19 M. Weiser. Program slicing. IEEE Transactions on Softwure Engineering, 10(4), 1984.Google Scholar
- 20 J. Zhao, J. Cheng, and K. Ushijima. Static slicing of concurrent object-oriented programs. In Proc. 20th IEEE Annual Intl. Computer SoftWare and Applications Con$', 1996. Google ScholarDigital Library
Index Terms
- Static slicing of threaded programs
Recommendations
Static slicing of threaded programs
PASTE '98: Proceedings of the 1998 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineeringStatic program slicing is an established method for analyzing sequential programs, especially for program understanding, debugging and testing. Until now, there was no slicing method for threaded programs which handles interference correctly. We present ...
Slicing concurrent programs
Slicing is a well-known program analysis technique for analyzing sequential programs and found useful in debugging, testing and reverse engineering. This paper extends the notion of slicing to concurrent programs with shared memory, interleaving ...
Slicing concurrent programs
ISSTA '00: Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysisSlicing is a well-known program analysis technique for analyzing sequential programs and found useful in debugging, testing and reverse engineering. This paper extends the notion of slicing to concurrent programs with shared memory, interleaving ...
Comments