skip to main content
article
Free Access

Static slicing of threaded programs

Published:01 July 1998Publication History
Skip Abstract Section

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.

References

  1. 1 J. Cheng. Slicing concurrent programs. In Automated and Algorithmic Debugging, 1st Intl. Workshop, LNCS 749,1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle Scholar
  7. 7 S. Horwitz, T. Reps, and D. Binkley. Interprocedural slicing using dependence graphs. ACM Transactions on Programming Languages and Systems, 12(l), 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9 B. Korel and R. Ferguson. Dynamic slicing of distributed programs. Applied Mathematics and Computer Science, 2, 1992.Google ScholarGoogle Scholar
  10. 10 B. Korel and J. Laski. Dynamic program slicing. Injbrmution Processing Letters, 29(3), 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11 L. D. Larsen and M. J. Harrold. Slicing objectoriented software. In Proc. 18th Intl. Conf on S@ware Engineering, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 12 C. E. McDowell and D. P. Helmbold. Debugging concurrent programs. ACM Computing Surveys, 21(4). 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16 G. Snelting. Combining slicing and constraint solving for validation of measurement software. In Static Analysis; Third Intl. Symposium, LNCS 1145, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17 F. Tip. A survey of program slicing techniques. Journal qf Programming Languages, 3(3), 1995.Google ScholarGoogle Scholar
  18. 18 N. Uchihira, S. Honiden, and T. Seki. Hypersequential programming. IEEE Concurrency, July-September 1997.Google ScholarGoogle Scholar
  19. 19 M. Weiser. Program slicing. IEEE Transactions on Softwure Engineering, 10(4), 1984.Google ScholarGoogle Scholar
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Static slicing of threaded programs

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 33, Issue 7
          July 1998
          90 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/277633
          Issue’s Table of Contents
          • cover image ACM Conferences
            PASTE '98: Proceedings of the 1998 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
            July 1998
            90 pages
            ISBN:1581130554
            DOI:10.1145/277631

          Copyright © 1998 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 July 1998

          Check for updates

          Qualifiers

          • article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader