Sufficient Preconditions for Modular Assertion Checking

  • Yannick Moy
Conference paper

DOI: 10.1007/978-3-540-78163-9_18

Part of the Lecture Notes in Computer Science book series (LNCS, volume 4905)
Cite this paper as:
Moy Y. (2008) Sufficient Preconditions for Modular Assertion Checking. In: Logozzo F., Peled D.A., Zuck L.D. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2008. Lecture Notes in Computer Science, vol 4905. Springer, Berlin, Heidelberg

Abstract

Assertion checking is the restriction of program verification to validity of program assertions. It encompasses safety checking, which is program verification of safety properties, like memory safety or absence of overflows. In this paper, we consider assertion checking of program parts instead of whole programs, which we call modular assertion checking. Classically, modular assertion checking is possible only if the context in which a program part is executed is known. By default, the worst-case context must be assumed, which may impair the verification task. It usually takes user effort to detail enough the execution context for the verification task to succeed, by providing strong enough preconditions. We propose a method to automatically infer sufficient preconditions in the context of modular assertion checking of imperative pointer programs. It combines abstract interpretation, weakest precondition calculus and quantifier elimination. We instantiate this method to prove memory safety for C and Java programs, under some memory separation conditions.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Yannick Moy
    • 1
  1. 1.France Télécom, Lannion, F-22307, INRIA Futurs, ProVal, 4 rue Jacques Monod, Orsay, F-91893, Lab. de Recherche en Informatique, Univ Paris-Sud, CNRS, Orsay, F-91405 

Personalised recommendations