FoCaLiZe: Inside an F-IDE

نویسنده

  • François Pessaux
چکیده

For years, Integrated Development Environments have demonstrated their usefulness in order to ease the development of software. High-level security or safety systems require proofs of compliance to standards, based on analyses such as code review and, increasingly nowadays, formal proofs of conformance to specifications. This implies mixing computational and logical aspects all along the development, which naturally raises the need for a notion of Formal IDE. This paper examines the FoCaLiZe environment and explores the implementation issues raised by the decision to provide a single language to express specification properties, source code and machine-checked proofs while allowing incremental development and code reusability. Such features create strong dependencies between functions, properties and proofs, and impose an particular compilation scheme, which is described here. The compilation results are runnable OCaml code and a checkable Coq term. All these points are illustrated through a running example.

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

ثبت نام

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

منابع مشابه

Teaching Formal Methods and Discrete Mathematics

Despite significant advancements in the conception of (formal) integrated development environments, applying formal methods in software industry is still perceived as a difficult task. To make the task easier, providing tools that help during the development cycle is essential but we think that education of computer scientists and software engineers is also an important challenge to take up. In...

متن کامل

Focalize Contributors

1 About FoCaLiZe FoCaLiZe is the result of a collective work of several researchers, listed in the following, who designed, defined, compiled, studied, extended, used and debugged the preceding versions. They were helped by many students who had a summer internship under their supervision. They would like to thank all these students and more generally all the persons who brought some contributi...

متن کامل

Generating FoCaLiZe Specifications from UML Models

UML is the defacto standard language to graphically describe systems in an object oriented way. Once an application has been modeled, Model Driven Architecture (MDA) techniques can be applied to generate code from such models. Because UML lacks formal basis to analyze and check model consistency, it is pertinent to choose a formal target language (in the MDA process) to enable proofs and verifi...

متن کامل

ML Pattern-Matching, Recursion, and Rewriting: From FoCaLiZe to Dedukti

The programming environment FoCaLiZe allows the user to specify, implement, and prove programs. It produces as output OCaml executable programs along with proof hints that help the first-order theorem prover Zenon to find proofs. In the actual version, those proofs found by Zenon are verified by Coq. In this paper we propose to extend the FoCaLiZe compiler by a backend to the Dedukti language –...

متن کامل

Another Tutorial for FoCaLize: Playing with Proofs

This document is a tutorial for FoCaLize, describing how to develop proofs of properties using Zenon. Differently from other tutorials, we won’t focalize on mathematical developments, preferring to show the language in action on programs closer to what “usual programers” develop in the “everyday life”. To get in touch with basic Zenon capabilities, we will first address very simple first order ...

متن کامل

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


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

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

ثبت نام

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

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

دوره   شماره 

صفحات  -

تاریخ انتشار 2014