Copyright 2005 INIST-CNRS CC BY 4.0 Sauf mention contraire ci-dessus, le contenu de cette notice bibliographique peut être utilisé dans le cadre d’une licence CC BY 4.0 Inist-CNRS / Unless otherwise stated above, the content of this bibliographic record may be used under a CC BY 4.0 licence by Inist-CNRS / A menos que se haya señalado antes, el contenido de este registro bibliográfico puede ser utilizado al amparo de una licencia CC BY 4.0 Inist-CNRS
Notes:
Computer science; theoretical automation; systems
Accession Number:
edscal.17011220
Database:
PASCAL Archive
Further Information
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 propositional 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.