Article

Applying the B Method to Take on the Grand Challenge of Verified Compilation

Authors:
To read the full-text of this research, you can request a copy directly from the authors.

Abstract

This paper investigates the application of the B method,beyond the classical algorithmic level provided by the B0 sub-language, and presents re- finements of B models at a level of precision equivalent to assembly language. We claim and justify that this extension provides a more reliable software de- velopment process as it bypasses two of the less trustable steps in the applic- ation of the B method: code synthesis and compilation. The results presented in the paper have a value as a proof of concept and may be used as a basis to establish an agenda,for the development,of an approach,to build verifying compilers [Hoare 2005] based on the B method.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

... The B method [1] supports the formal development of software from a specification of functional requirements down to an imperative implementation of those requirements, amenable to synthesis to a programming language such as C or Ada. However, the synthesis step is not amenable to proof of correctness, and [6] proposed an approach to extend the scope of the B method up to the assembly level language. One key component of this approach is to build, within the framework of the B method, formal models of the instruction set of such assembly languages. ...
... It also discusses desirable properties of the instruction set model. However, our work [10] and [14] use the B method, that seems quite appropriated to software development, because it has an implementable language defined, called B0, a model-driven approach [6] to develop software from the functional specification level down to assembly, and tools to convert the models to a programming language. A related experience on using B in the design of secure micro-controllers is present in [2]. ...
... The approach to develop verified software down to the assembly level using B was described in [5]. A first case study for this approach was reported in [6], presenting more details as well as a small software that developed up to assembly level in three different platforms. A general view of a previous used in verification process were presented in [10]. ...
Article
Full-text available
This paper describes an approach to model the functional aspects of the in-struction set of microcontroller platforms and several details about the representation of elements from microcontrollers. Several models were developed using the notation of the B method. They are used to develop a formally verified software up to the assembly level and allow the simulation of models. This simulation is able to guarantee the consistency between the execution of a software model and a real execution of software, it has wide variety of usages in industry and academia. This paper presents specifically the case of the Z80 platform and quote a theoretic case study important in tanks of the petroleum industry. This work is a contribution towards the extension of the B method to handle developments up to the assembly level code.
ResearchGate has not been able to resolve any references for this publication.