English

Scaling Bounded Model Checking By Transforming Programs With Arrays

Programming Languages 2016-08-22 v1 Logic in Computer Science

Abstract

Bounded Model Checking is one the most successful techniques for finding bugs in program. However, for programs with loops iterating over large-sized arrays, bounded model checkers often exceed the limit of resources available to them. We present a transformation that enables bounded model checkers to verify a certain class of array properties. Our technique transforms an array-manipulating program in ANSI-C to an array-free and loop-free program. The transformed program can efficiently be verified by an off-the-shelf bounded model checker. Though the transformed program is, in general, an abstraction of the original program, we formally characterize the properties for which the transformation is precise. We demonstrate the applicability and usefulness of our technique on both industry code as well as academic benchmarks.

Keywords

Cite

@article{arxiv.1608.05368,
  title  = {Scaling Bounded Model Checking By Transforming Programs With Arrays},
  author = {Anushri Jana and Uday P. Khedker and Advaita Datar and R Venkatesh and C Niyas},
  journal= {arXiv preprint arXiv:1608.05368},
  year   = {2016}
}

Comments

Pre-proceedings paper presented at the 26th International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR 2016), Edinburgh, Scotland UK, 6-8 September 2016 (arXiv:1608.02534)

R2 v1 2026-06-22T15:23:36.585Z