Cogent: Accurate theorem proving for program verification

38Citations
Citations of this article
1Readers
Mendeley users who have this article in their library.

This article is free to access.

Abstract

Many symbolic software verification engines such as SLAM and ESC/JAVA rely on automatic theorem provers. The existing theorem provers, such as SIMPLIFY, lack precise support for important programming language constructs such as pointers, structures and unions. This paper describes a theorem prover, COGENT, that accurately supports all ANSI-C expressions. The prover's implementation is based on a machine-level interpretation of expressions into prepositional logic, and supports finite machine-level variables, bit operations, structures, unions, references, pointers and pointer arithmetic. When used by SLAM during the model checking of over 300 benchmarks, COGENT'S improved accuracy reduced the number of SLAM timeouts by half, increased the number of true errors found, and decreased the number of false errors. © Springer-Verlag Berlin Heidelberg 2005.

Cite

CITATION STYLE

APA

Cook, B., Kroening, D., & Sharygina, N. (2005). Cogent: Accurate theorem proving for program verification. In Lecture Notes in Computer Science (Vol. 3576, pp. 296–300). Springer Verlag. https://doi.org/10.1007/11513988_30

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free