DC2: A framework for scalable, scope-bounded software verification

  • Authors:
  • Franjo Ivancic;Gogul Balakrishnan;Aarti Gupta;Sriram Sankaranarayanan;Naoto Maeda;Hiroki Tokuoka;Takashi Imoto;Yoshiaki Miyazaki

  • Affiliations:
  • NEC Laboratories America, Princeton, USA;NEC Laboratories America, Princeton, USA;NEC Laboratories America, Princeton, USA;University of Colorado, Boulder, USA;NEC Corporation, Kawasaki, Japan;NEC Corporation, Kawasaki, Japan;NEC Corporation, Kawasaki, Japan;NEC Corporation, Kawasaki, Japan

  • Venue:
  • ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.