Modular inference of subprogram contracts for safety checking

Yannick Moy 1 Claude Marché 2
2 PROVAL - Proof of Programs
UP11 - Université Paris-Sud - Paris 11, Inria Saclay - Ile de France, CNRS - Centre National de la Recherche Scientifique : UMR
Abstract : Contracts expressed by logic formulas allow one to formally specify expected behavior of programs. But writing such specifications manually takes a significant amount of work, in particular for uninteresting contracts which only aim at avoiding run-time errors during the execution. Thus, for programs of large size, it is desirable to at least partially infer such contracts. We propose a method to infer contracts expressed as boolean combinations of linear equalities and inequalities by combining different kinds of static analyses: abstract interpretation, weakest precondition computation and quantifier elimination. An important originality of our approach is to proceed modularly, considering subprograms independently. The practical applicability of our approach is demonstrated on experiments performed on a library and two benchmarks of vulnerabilities of C code.
Document type :
Journal articles
Journal of Symbolic Computation, Elsevier, 2010, 45, pp.1184-1211
Liste complète des métadonnées


https://hal.inria.fr/inria-00534331
Contributor : Claude Marché <>
Submitted on : Wednesday, November 10, 2010 - 1:58:40 PM
Last modification on : Thursday, February 9, 2017 - 3:51:25 PM
Document(s) archivé(s) le : Friday, February 11, 2011 - 2:37:49 AM

File

YJSCO1169.pdf
Publisher files allowed on an open archive

Identifiers

  • HAL Id : inria-00534331, version 1

Collections

Citation

Yannick Moy, Claude Marché. Modular inference of subprogram contracts for safety checking. Journal of Symbolic Computation, Elsevier, 2010, 45, pp.1184-1211. <inria-00534331>

Share

Metrics

Record views

373

Document downloads

289