A construction of a self-modifiying language with a formal correction proof - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année : 2017

A construction of a self-modifiying language with a formal correction proof

Guillaume Bonfante
  • Fonction : Auteur
  • PersonId : 830993
Hubert Godfroy
  • Fonction : Auteur
  • PersonId : 992995
Jean-Yves Marion

Résumé

In this contribution, we present a small high level imperative programming language with its corresponding compiler. The key feature of the language is a self-modifying statement replace C by D which behaves abstractly as C; D but which rewrites its code once C is executed. We do that taking care of efficiency issues on the compiled code. In a second step, we give a proof in TLA+ that the compiled code behaves as specified/expected. The formal model includes potential self-modification of programs. One of the proofs extends an Hoare-style verification of a loop that copes with that feature. Such a compiler may find applications for intellectual property protection but also as a testbed for retro-engineering and binary program analysis tools.
Fichier non déposé

Dates et versions

hal-03167600 , version 1 (12-03-2021)

Identifiants

Citer

Guillaume Bonfante, Hubert Godfroy, Jean-Yves Marion. A construction of a self-modifiying language with a formal correction proof. 2017 12th International Conference on Malicious and Unwanted Software (MALWARE), Oct 2017, Fajardo, United States. pp.99-106, ⟨10.1109/MALWARE.2017.8323962⟩. ⟨hal-03167600⟩
20 Consultations
0 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More