Annotation Inference for Separation Logic Based Verifiers

نویسندگان

  • Frédéric Vogels
  • Bart Jacobs
  • Frank Piessens
  • Jan Smans
چکیده

With the years, program complexity has increased dramatically: ensuring program correctness has become considerably more difficult with the advent of multithreading, security has grown more prominent during the last decade, etc. As a result, static verification has become more important than ever. Automated verification tools exist, but they are only able to prove a limited set of properties, such as memory safety. If we want to prove full functional correctness of a program, other more powerful tools are available, but they generally require a lot more input from the programmer: they often need the code to be verified to be heavily annotated. In this paper, we attempt to combine the best of both worlds by starting off with a manual verification tool based on separation logic for which we develop techniques to automatically generate part of the required annotations. This approach provides more flexibility: for instance, it makes it possible to automatically check as large a part of the program as possible for memory errors and then manually add extra annotations only to those parts of the code where automated tools failed and/or full correctness is actually needed.

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

ثبت نام

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

منابع مشابه

D6.6: Development-Time and On-Device Interplay

In the field of annotation-based source code level program verification for Java-likelanguages, separation-logic based verifiers offer a promising alternative to classic JML basedverifiers such as ESC/Java2, the Mobius tool or Spec#. Researchers have demonstrated theadvantages of separation logic based verification by showing that it is feasible to verify verychallenging (though...

متن کامل

The Belgian Electronic Identity Card: a Verification Case Study

In the field of annotation-based source code level program verification for Java-like languages, separation-logic based verifiers offer a promising alternative to classic JML based verifiers such as ESC/Java2, the Mobius tool or Spec#. Researchers have demonstrated the advantages of separation logic based verification by showing that it is feasible to verify very challenging (though very small)...

متن کامل

ROBUSTNESS OF THE TRIPLE IMPLICATION INFERENCE METHOD BASED ON THE WEIGHTED LOGIC METRIC

This paper focuses on the robustness problem of full implication triple implication inference method for fuzzy reasoning. First of all, based on strong regular implication, the weighted logic metric for measuring distance between two fuzzy sets is proposed. Besides, under this metric, some robustness results of the triple implication method are obtained, which demonstrates that the triple impli...

متن کامل

Implicit Dynamic Frames ( draft )

An important, challenging problem in the verification of imperative programs with shared, mutable state is the frame problem in the presence of data abstraction. That is, one must be able to specify and verify upper bounds on the set of memory locations a method can read and write without exposing that method’s implementation. Separation logic is now widely considered the most promising solutio...

متن کامل

Viper: A Verification Infrastructure for Permission-Based Reasoning

The automation of verification techniques based on firstorder logic specifications has benefited greatly from verification infrastructures such as Boogie and Why. These offer an intermediate language that can express diverse language features and verification techniques, as well as back-end tools such as verification condition generators. However, these infrastructures are not well suited for v...

متن کامل

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


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

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

دوره   شماره 

صفحات  -

تاریخ انتشار 2011