Formal verification of a synchronous data-flow compiler : from Signal to C - TEL - Thèses en ligne Access content directly
Theses Year : 2014

Formal verification of a synchronous data-flow compiler : from Signal to C

Vérification formelle d’un compilateur synchrone : de Signal vers C

van Chan Ngô

Abstract

Synchronous languages such as Signal, Lustre and Esterel are dedicated to designing safety-critical systems. Their compilers are large and complicated programs that may be incorrect in some contexts, which might produce silently bad compiled code when compiling source programs. The bad compiled code can invalidate the safety properties that are guaranteed on the source programs by applying formal methods. Adopting the translation validation approach, this thesis aims at formally proving the correctness of the highly optimizing and industrial Signal compiler. The correctness proof represents both source program and compiled code in a common semantic framework, then formalizes a relation between the source program and its compiled code to express that the semantics of the source program are preserved in the compiled code.
Les langages synchrones tels que Signal, Lustre et Esterel sont dédiés à la conception de systèmes critiques. Leurs compilateurs, qui sont de très gros programmes complexes, peuvent a priori se révéler incorrects dans certains situations, ce qui donnerait lieu alors à des résultats de compilation erronés non détectés. Ces codes fautifs peuvent invalider des propriétés de sûreté qui ont été prouvées en appliquant des méthodes formelles sur les programmes sources. En adoptant une approche de validation de la traduction, cette thèse vise à prouver formellement la correction d'un compilateur optimisé et industriel de Signal. La preuve de correction représente dans un cadre sémantique commun le programme source et le code compilé, et formalise une relation entre eux pour exprimer la préservation des sémantiques du programme source dans le code compilé.
Fichier principal
Vignette du fichier
NGO_Van_Chan.pdf (1.29 Mo) Télécharger le fichier
Origin Version validated by the jury (STAR)
Loading...

Dates and versions

tel-01067477 , version 1 (26-08-2014)
tel-01067477 , version 2 (23-09-2014)

Identifiers

  • HAL Id : tel-01067477 , version 2

Cite

van Chan Ngô. Formal verification of a synchronous data-flow compiler : from Signal to C. Software Engineering [cs.SE]. Université de Rennes, 2014. English. ⟨NNT : 2014REN1S034⟩. ⟨tel-01067477v2⟩
786 View
757 Download

Share

Gmail Mastodon Facebook X LinkedIn More