skip to main content
10.1145/940071.940097acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article

Adapting side effects analysis for modular program model checking

Published:01 September 2003Publication History

ABSTRACT

There is a widely held belief that whole program analysis is intractable for large complex software systems, and there can be little doubt that this is true for program analyses based on model checking. Model checking selected program components that comprise a cohesive unit, however, can be an effective way of uncovering subtle coding errors, especially for components of multi-threaded programs. In this setting, one of the chief problems is how to safely approximate the behavior of the rest of the application as it relates to the unit being analyzed.Non-unit application components are collectively referred to as the environment. In this paper, we describe how points-to and side-effects analyses can be adapted to support generation of summaries of environment behavior that can be reified into Java code using special modeling primitives. The resulting abstract models of the environment can be combined with the code of the unit and then model checked against unit properties. We present our analysis framework, illustrate its flexibility in generating several types of models, and present experience that provides evidence of the scalability of the approach.

References

  1. J.-D. Choi, M. Burke, and P. Carini. Efficient flow-sensitive interprocedural computation of pointer-induced aliases and side effects. In Conference Record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 232--245, Charleston, South Carolina, 1993.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. J. M. Cobleigh, D. Giannakopoulou, and C. S. Puasuareanu. Learning assumptions for compositional verification. In Proceedings of the 9th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (LNCS 2619), 2003.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. C. Colby, P. Godefroid, and L. J. Jagadeesan. Automatically closing open reactive programs. In SIGPLAN Conference on Programming Language Design and Implementation, pages 345--357, 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. J. C. Corbett, M. B. Dwyer, J. Hatcliff, S. Laubach, C. S. Puasuareanu, Robby, and H. Zheng. Bandera : Extracting finite-state models from Java source code. In Proceedings of the 22nd International Conference on Software Engineering, June 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. B. Dwyer, J. Hatcliff, R. Joehanes, S. Laubach, C. S. Puasuareanu, Robby, W. Visser, and H. Zheng. Tool-supported program abstraction for finite-state verification. In Proceedings of the 23rd International Conference on Software Engineering, May 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. M. B. Dwyer and C. S. Puasuareanu. Filter-based model checking of partial systems. In Proceedings of the Sixth ACM SIGSOFT Symposium on Foundations of Software Engineering, Nov. 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. Giannakopoulou, C. S. Puasuareanu, and H. Barringer. Assumption generation for software component verification. In Proceedings of the 17th IEEE Conference on Automated Software Engineering, 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. T. A. Henzinger, R. Jhala, R. Majumdar, and G. Sutre. Lazy abstraction. In Proceedings of the 29th ACM Symposium on Principles of Programming Languages, pages 58--70, Jan. 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. O. Kupferman and M. Y. Vardi. Modular model checking. In COMPOS (LNCS 1536), 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. W. Landi, B. G. Ryder, and S. Zhang. Interprocedural side effect analysis with pointer aliasing. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 56--67, 1993.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. D. Liang and M. J. Harrold. Efficient computation of parameterized pointer information for interprocedural analyses. In Proceedings of the 8th International Static Analysis Symposium (LNCS 2126), page 279, 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, 1991.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. S. Muchnick. Advanced Compiler Design and Implementation. Morgan Kaufmann Publishers, 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. A. Rountev and B. G. Ryder. Points-to and side-effect analyses for programs built with precompiled libraries. In Proceedings of the 10th International Conference on Compiler Construction (CC'01), 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. O. Tkachuk. Adapting side effects analysis for modular program model checking. Master's thesis, Kansas State University, 2003.]]Google ScholarGoogle Scholar
  16. O. Tkachuk, G. Brat, and W. Visser. Using code level model checking to discover automation surprises. In Proceedings of the 2002 Digital Avionics Systems Conference, 2002.]]Google ScholarGoogle ScholarCross RefCross Ref
  17. R. Valle-Rai, L. Hendren, V. Sundaresan, P. Lam, E. Gagnon, and P. Co. Soot - a Java optimization framework. In Proceedings of CASCON'99, Nov. 1999.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. W. Visser, K. Havelund, G. Brat, and S. Park. Model checking programs. In Proceedings of the 15th IEEE Conference on Automated Software Engineering, Sept. 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. J. Whaley and M. Rinard. Compositional pointer and escape analysis for Java programs. In OOPSLA'99 ACM Conference on Object-Oriented Systems, Languages and Applications, volume 34(10) of ACM SIGPLAN Notices, pages 187--206, Denver, CO, Oct. 1999. ACM Press.]] Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Adapting side effects analysis for modular program model checking

      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
      • Published in

        cover image ACM Conferences
        ESEC/FSE-11: Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
        September 2003
        394 pages
        ISBN:1581137435
        DOI:10.1145/940071
        • cover image ACM SIGSOFT Software Engineering Notes
          ACM SIGSOFT Software Engineering Notes  Volume 28, Issue 5
          September 2003
          382 pages
          ISSN:0163-5948
          DOI:10.1145/949952
          Issue’s Table of Contents

        Copyright © 2003 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 September 2003

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

        Acceptance Rates

        ESEC/FSE-11 Paper Acceptance Rate33of168submissions,20%Overall Acceptance Rate112of543submissions,21%

        Upcoming Conference

        FSE '24

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader