Statically Inferring Complex Heap, Array, and Numeric Invariants
- Bill McCloskeyAffiliated withLancaster UniversityUniversity of California
- , Thomas RepsAffiliated withLancaster UniversityCarnegie Mellon UniversityUniversity of WisconsinGrammaTech, Inc.
- , Mooly SagivAffiliated withCarnegie Mellon UniversityTel-Aviv UniversityStanford University
We describe Deskcheck, a parametric static analyzer that is able to establish properties of programs that manipulate dynamically allocated memory, arrays, and integers. Deskcheck can verify quantified invariants over mixed abstract domains, e.g., heap and numeric domains. These domains need only minor extensions to work with our domain combination framework.
The technique used for managing the communication between domains is reminiscent of the Nelson-Oppen technique for combining decision procedures, in that the two domains share a common predicate language to exchange shared facts. However, whereas the Nelson-Oppen technique is limited to a common predicate language of shared equalities, the technique described in this paper uses a common predicate language in which shared facts can be quantified predicates expressed in first-order logic with transitive closure.
We explain how we used Deskcheck to establish memory safety of the thttpd web server’s cache data structure, which uses linked lists, a hash table, and reference counting in a single composite data structure. Our work addresses some of the most complex data-structure invariants considered in the shape-analysis literature.
- Statically Inferring Complex Heap, Array, and Numeric Invariants
- Book Title
- Static Analysis
- Book Subtitle
- 17th International Symposium, SAS 2010, Perpignan, France, September 14-16, 2010. Proceedings
- pp 71-99
- Print ISBN
- Online ISBN
- Series Title
- Lecture Notes in Computer Science
- Series Volume
- Series ISSN
- Springer Berlin Heidelberg
- Copyright Holder
- Springer-Verlag Berlin Heidelberg
- Additional Links
- Industry Sectors
- eBook Packages
- Editor Affiliations
- 16. Départment d’Informatique, École normale supérieure
- 17. ELIAUS-DALI Laboratory, Université de Perpignan Via Domitia
- Author Affiliations
- 18. University of California, Berkeley, CA, USA
- 19. University of Wisconsin, Madison, WI, USA
- 20. GrammaTech, Inc., Ithaca, NY, USA
- 21. Tel-Aviv University, Tel-Aviv, Israel
- 22. Stanford University, Stanford, CA, USA
To view the rest of this content please follow the download PDF link above.