Proof Obligations Preserving Compilation

نویسندگان

  • Gilles Barthe
  • Tamara Rezk
  • Ando Saabas
چکیده

The objective of this work is to study the interaction between program verification and program compilation, and to show that the proof that a source program meets its specification can be reused to show that the corresponding compiled program meets the same specification. More concretely, we introduce a core imperative language, and a bytecode language for a stack-based abstract machine, and a nonoptimizing compiler. Then we consider for both languages verification condition generators that operate on programs annotated with loop invariants and procedure specifications. In such a setting, we show that compilation preserves proof obligations, in the sense that the proof obligations generated for the source annotated program are the same that those generated for the compiled annotated program (using the same loop invariants and procedure specifications). Furthermore, we discuss the relevance of our results to Proof Carrying Code.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Preservation of proof obligations for hybrid verification methods

Program verification environments increasingly rely on hybrid methods that combine static analyses and verification condition generation. While such verification environments operate on source programs, it is often preferable to achieve guarantees about executable code. We show that, for a hybrid verification method based on numerical static analysis and verification condition generation, compi...

متن کامل

Proving Reachability and Non-Interference in B

This paper proposes an approach to prove interference freedom for a reachability property of the form AG ψ ⇒ EF φ in a B specification. Such properties frequently occur in security policies and information systems. Reachability is proved by constructing using stepwise algorithmic refinement an abstract program that refines AG ψ ⇒ EF φ. We propose proof obligations to show non-interference, ie, ...

متن کامل

Privacy Preserving Non-interactive Proof of Assets for Bitcoin Exchanges

Bitcoin is a decentralized cryptocurrency for e-payments.Bitcoin exchanges stand for the trading of customers’ bitcoins against major paramount currencies.The users’ bitcoins can be stored in a digital wallet offered by the Bitcoin exchange.Precisely, Bitcoin exchanges are equivalent to banks,providing security for the customer’s bitcoins in their absence.An exchange always need to be solvent i...

متن کامل

Interfacing Automatic Proof Agents in Atelier B: Introducing "iapa"

The application of automatic theorem provers to discharge proof obligations is necessary to apply formal methods in an efficient manner. Tools supporting formal methods, such as Atelier B, generate proof obligations fully automatically. Consequently, such proof obligations are often cluttered with information that is irrelevant to establish their validity. We present iapa, an “Interface to Auto...

متن کامل

Compiler Support for Correctness Proofs

The development of correct software is an important task which should not be carried out with the help of tools following diierent approaches. We propose that full support for correctness proofs should be integrated into the compiler. We outline in this paper how a compiler for a functional language can be extended to support the development of correct software. Speciications, functional progra...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2005