DC2: A framework for scalable, scope-bounded software verification
2011
Software model checking and static analysis have matured over the last decade, enabling their use in automated software verification. However, lack of scalability makes these tools hard to apply. Furthermore, approximations in the models of program and environment lead to a profusion of false alarms. This paper proposes DC2, a verification framework using scope-bounding to bridge these gaps. DC2 splits the analysis problem into manageable parts, relying on a combination of three automated techniques: (a) techniques to infer useful specifications for functions in the form of pre- and post-conditions; (b) stub inference techniques that infer abstractions to replace function calls beyond the verification scope; and (c) automatic refinement of pre- and post-conditions from false alarms identified by a user. DC2 enables iterative reasoning over the calling environment, to help in finding non-trivial bugs and fewer false alarms. We present an experimental evaluation that demonstrates the effectiveness of DC2 on several open-source and industrial software projects.
Keywords:
- Computer science
- Software verification
- Theoretical computer science
- Software construction
- Real-time computing
- Software design description
- Package development process
- Verification
- Software sizing
- Intelligent verification
- Software verification and validation
- Functional verification
- Software framework
- Static program analysis
- Software engineering
- Correction
- Source
- Cite
- Save
- Machine Reading By IdeaReader
27
References
18
Citations
NaN
KQI