Dynamic Verification of C++ Generic Algorithms
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Automatically validating temporal safety properties of interfaces
SPIN '01 Proceedings of the 8th international SPIN workshop on Model checking of software
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Separation Logic: A Logic for Shared Mutable Data Structures
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
Construction of Abstract State Graphs with PVS
CAV '97 Proceedings of the 9th International Conference on Computer Aided Verification
Counterexample-Guided Abstraction Refinement
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
Programming with abstract data types
Proceedings of the ACM SIGPLAN symposium on Very high level languages
Modular Verification of Software Components in C
IEEE Transactions on Software Engineering
Predicate Abstraction of ANSI-C Programs Using SAT
Formal Methods in System Design
CMC: a pragmatic approach to model checking real code
OSDI '02 Proceedings of the 5th symposium on Operating systems design and implementationCopyright restrictions prevent ACM from being able to make the PDFs for this conference available for downloading
STLlint: lifting static checking from languages to libraries
Software—Practice & Experience
VC generation for functional behavior and non-interference of iterators
Proceedings of the 2006 conference on Specification and verification of component-based systems
Specifying java iterators with JML and Esc/Java2
Proceedings of the 2006 conference on Specification and verification of component-based systems
SAVCBS 2006 challenge: specification of iterators
Proceedings of the 2006 conference on Specification and verification of component-based systems
Iterator specification with typestates
Proceedings of the 2006 conference on Specification and verification of component-based systems
Reasoning about iterators with separation logic
Proceedings of the 2006 conference on Specification and verification of component-based systems
SATABS: SAT-Based predicate abstraction for ANSI-C
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
What's decidable about arrays?
VMCAI'06 Proceedings of the 7th international conference on Verification, Model Checking, and Abstract Interpretation
Race analysis for systemc using model checking
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Precise reasoning for programs using containers
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Correct code containing containers
TAP'11 Proceedings of the 5th international conference on Tests and proofs
KLOVER: a symbolic execution and automatic test generation tool for C++ programs
CAV'11 Proceedings of the 23rd international conference on Computer aided verification
Predicate abstraction of Java programs with collections
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Hi-index | 0.03 |
This paper describes a flexible and easily extensible predicate abstraction-based approach to the verification of STLusage, and observes the advantages of verifying programsin terms of high-level data structures rather than low-level pointer manipulations. We formalize the semantics of theSTL by means of a Hoare-style axiomatization. The verification requires an operational model conservatively approximating the semantics given by the Standard. Our results show advantages (in terms of errors detected and false positives avoided) over previous attempts to analyze STL usage, due to the power of the abstraction engine and model checker