skip to main content
10.1145/2483760.2483770acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
research-article

Parallel bounded analysis in code with rich invariants by refinement of field bounds

Published:15 July 2013Publication History

ABSTRACT

In this article we present a novel technique for automated parallel bug-finding based on the sequential analysis tool TACO. TACO is a tool based on SAT-solving for efficient bug-finding in Java code with rich class invariants. It prunes the SAT-solver's search space by introducing precise symmetry-breaking predicates and bounding the relational semantics of Java class fields. The bounds computed by TACO generally include a substantial amount of nondeterminism; its reduction allows us to split the original analysis into disjoint subproblems. We discuss the soundness and completeness of the decomposition. Furthermore, we present experimental results showing that MUCHO-TACO, our tool which implements this technique, yields significant speed-ups over TACO on commodity cluster hardware.

References

  1. Abad P., Aguirre N., Bengolea V., Ciolek D., Frias M.F., Galeotti J., Maibaum T., Moscato M., Rosner N., Vissani I., Tight Bounds + Incremental SAT = Better Test Generation under Rich Contracts, to appear in Proceedings of ICST 2013.Google ScholarGoogle Scholar
  2. Belt, J., Robby and Deng X., Sireum/Topi LDP: A Lightweight Semi-Decision Procedure for Optimizing Symbolic Execution-based Analyses, FSE 2009, pp. 355–364. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Dolby J., Vaziri M., Tip F., Finding Bugs Efficiently with a SAT Solver, in ESEC/FSE’07, pp. 195–204, ACM Press, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Bouillaguet Ch., Kuncak V., Wies T., Zee K., Rinard M.C., Using First-Order Theorem Provers in the Jahob Data Structure Verification System. VMCAI 2007, pp. 74–88. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Chandrasekhar Boyapati, Sarfraz Khurshid, Darko Marinov: Korat: automated testing based on Java predicates. ISSTA 2002: 123-133. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Chalin P., Kiniry J.R., Leavens G.T., Poll E. Beyond Assertions: Advanced Specification and Verification with JML and ESC/Java2. FMCO 2005: 342-363. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Wahid Chrabakh and Rich Wolski, GrADSAT: A Parallel SAT Solver for the Grid, in UCSB Computer Science Technical Report Number 2003-05.Google ScholarGoogle Scholar
  8. Cuervo-Parrino B., Galeotti J.P., Garbervetsky D., Frias M.F., A dataflow analysis to improve SAT-based program verification, to appear in Proceedings of SEFM 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Deng, X., Robby, Hatcliff, J., Towards A Case-Optimal Symbolic Execution Algorithm for Analyzing Strong Properties of Object-Oriented Programs, in SEFM 2007, pp. 273-282. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Dennis, G., Chang, F., Jackson, D., Modular Verification of Code with SAT. in ISSTA’06, pp. 109–120, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Flanagan, C., Leino, R., Lillibridge, M., Nelson, G., Saxe, J., Stata, R., Extended static checking for Java, In PLDI 2002, pp. 234–245. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Juan P. Galeotti, Nicolás Rosner, Carlos López Pombo, Marcelo F. Frias: Analysis of invariants for efficient bounded verification. ISSTA 2010: 25–36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Juan P. Galeotti, Nicolás Rosner, Carlos López Pombo, Marcelo F. Frias: TACO: Efficient SAT-Based Bounded Verification Using Symmetry Breaking and Tight Bounds, submitted to IEEE TSE, 2013.Google ScholarGoogle Scholar
  14. Lu´ıs Gil, Paulo Flores and Lu´ıs Miguel Silveira: PMSat: a parallel version of MiniSAT, Journal on Satisfiability, Boolean Modeling and Computation 6 (2008) 71-98.Google ScholarGoogle ScholarCross RefCross Ref
  15. Daniel Jackson, Ian Schechter, and Ilya Shlyakhter. Alcoa: the alloy constraint analyzer. In Proceedings of International Conference on Software Engineering, Limerick, Ireland, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Jackson, D., Software Abstractions. MIT Press, 2006.Google ScholarGoogle Scholar
  17. Jackson, D., Vaziri, M., Finding bugs with a constraint solver, in ISSTA’00, pp. 14-25, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Khurshid S. and Marinov D., TestEra: Specification-Based Testing of Java Programs Using SAT., Automated Software Engineering 11(4): 403–434 (2004) Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Leino K.R.M., Specification and verification of Object-Oriented Software, Lecture Notes from Marktoberdorf International Summer School 2008.Google ScholarGoogle Scholar
  20. Kei Ohmura and Kazunori Ueda, c-sat: A Parallel SAT Solver for Clusters, in SAT 2009, LNCS 5585, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Danhua Shao, Divya Gopinath, Sarfraz Khurshid, Dewayne E. Perry, Optimizing Incremental Scope-Bounded Checking with Data-Flow Analysis. ISSRE 2010: 408–417. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Danhua Shao, Sarfraz Khurshid, Dewayne E. Perry: An Incremental Approach to Scope-Bounded Checking Using a Lightweight Formal Method. FM 2009: 757–772. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Rohan Sharma, Milos Gligoric, Andrea Arcuri, Gordon Fraser, Darko Marinov: Testing Container Classes: Random or Systematic? FASE 2011: 262-277. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Siddiqui J.H., and Khurshid S., PKorat: Parallel Generation of Structurally Complex Test Inputs, in Proceedings of ICST’09. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Matt Staats, Corina S. Pasareanu: Parallel symbolic execution for structural test generation. ISSTA 2010: 183-194 Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Torlak E., Jackson, D., Kodkod: A Relational Model Finder. in TACAS ’07, LNCS 4425, pp. 632–647. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Vaziri, M., Jackson, D., Checking Properties of Heap-Manipulating Procedures with a Constraint Solver, in TACAS 2003, pp. 505-520. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Visser W., Havelund K., Brat G., Park S. and Lerda F., Model Checking Programs, ASE Journal, Vol.10, N.2, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Visser W., Păsăreanu C. S., Pelánek R., Test Input Generation for Java Containers using State Matching, in ISSTA 2006, pp. 37–48, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Hantao Zhang, Maria Paola Bonacina, and Jieh Hsiang. 1996. PSATO: a distributed propositional prover and its application to quasigroup problems. J. Symb. Comput. 21, 4-6 (June 1996). Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Parallel bounded analysis in code with rich invariants by refinement of field bounds

                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
                  ISSTA 2013: Proceedings of the 2013 International Symposium on Software Testing and Analysis
                  July 2013
                  381 pages
                  ISBN:9781450321594
                  DOI:10.1145/2483760

                  Copyright © 2013 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: 15 July 2013

                  Permissions

                  Request permissions about this article.

                  Request Permissions

                  Check for updates

                  Qualifiers

                  • research-article

                  Acceptance Rates

                  Overall Acceptance Rate58of213submissions,27%

                  Upcoming Conference

                  ISSTA '24

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader