From Verified Models to Verifiable Code

نویسندگان

  • Leonard Lensink
  • César A. Muñoz
  • Alwyn E. Goodloe
چکیده

Declarative specifications of digital systems often contain parts that can be automatically translated into executable code. Automated code generation may reduce or eliminate the kinds of errors typically introduced through manual code writing. For this approach to be effective, the generated code should be reasonably efficient and, more importantly, verifiable. This paper presents a prototype code generator for the Prototype Verification System (PVS) that translates a subset of PVS functional specifications into an intermediate language and subsequently to multiple target programming languages. Several case studies are presented to illustrate the tool’s functionality. The generated code can be analyzed by software verification tools such as verification condition generators, static analyzers, and software model-checkers to increase the confidence that the generated code is correct.

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

ثبت نام

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

منابع مشابه

From Verified Specifications to Verifiable Software∗

Declarative specifications of digital systems often contain parts that can be automatically translated into executable code. Automated code generation, as opposed to manual code writing, eliminates a potential source of errors when a prototype implementation of these models is required. Furthermore, code generation allows for better integration of formal methods into the software development pr...

متن کامل

Impact of Specification Abstractions on Client Verification

Push-button automation is an important milestone for verification systems and a likely requirement for mainstream acceptance of the notion of ”verified software”. Multiple, logically-equivalent specifications may differ widely from the standpoint of their ability to contribute to verifiable client code. Using the types of problems considered at the VSTTE 2010 competition as motivation, we explo...

متن کامل

Verified Implementations for Secure and Verifiable Computation

Formal verification of the security of software systems is gradually moving from the traditional focus on idealized models, to the more ambitious goal of producing verified implementations. This trend is also present in recent work targeting the verification of cryptographic software, but the reach of existing tools has so far been limited to cryptographic primitives, such as RSA-OAEP encryptio...

متن کامل

Towards Verifiable Model Transformations: A Finite State Example

Embedded software in automotive applications is often used in safety critical applications, where the reliability of the system is of utmost importance. If a model-based development is followed, models of the code are often verified using techniques like model checking, but this in itself does not ensure that the generated code is also verified. Also, design models are often different from anal...

متن کامل

Code Generation for Protocols from CPN models Annotated with Pragmatics

Model-driven engineering (MDE) provides a foundation for automatically generating software based on models. Models allow software designs to be specified focusing on the problem domain and abstracting from the details of underlying implementation platforms. When applied in the context of formal modelling languages, MDE further has the advantage that models are amenable to model checking which a...

متن کامل

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


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

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

دوره   شماره 

صفحات  -

تاریخ انتشار 2009