Formal Verification for C Program

  • Authors:
  • Junyan Qian_aff1n2;Baowen Xu

  • Affiliations:
  • af2 Department of Computer Science, Guilin University of Electronic Technology, Guilin 541004, China, e-mail: qjy2000@guet.edu.cn, bwxu@seu.edu.cn;af1 Department of Computer Science and Engineering, Southeast University, Nanjing 210096, China

  • Venue:
  • Informatica
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Iterative abstraction refinement has emerged in the last few years as the leading approach to software model checking. We present an approach for automatically verifying C programs against safety specifications based on finite state machine. The approach eliminates unneeded variables using program slicing technique, and then automatically extracts an initial abstract model from C source code using predicate abstraction and theorem proving. In order to reduce time complexities, we partition the set of candidate predicates into subsets, and construct abstract model independently. On the basis of a counterexample-guided abstraction refinement scheme, the abstraction refines incrementally until the specification is either satisfied or refuted. Our methods can be extended to verifying concurrency C programs by parallel composition.