Book section Open Access

The Correctness of a Code Generator for a Functional Language

Courant, Nathanaël; Séré, Antoine; Shankar, Natarajan

Citation Style Language JSON Export

  "DOI": "10.1007/978-3-030-39322-9_4", 
  "container_title": "Lecture Notes in Computer Science", 
  "author": [
      "family": "Courant, Nathana\u00ebl"
      "family": "S\u00e9r\u00e9, Antoine"
      "family": "Shankar, Natarajan"
  "issued": {
    "date-parts": [
  "abstract": "Code generation is gaining popularity as a technique to bridge the gap between high-level models and executable code. We describe the theory underlying the PVS2C code generator that translates functional programs written using the PVS specification language to standalone, efficiently executable C code. We outline a correctness argument for the code generator. The techniques used are quite generic and can be applied to transform programs written in functional languages into imperative code. We use a formal model of reference counting to capture memory management and safe destructive updates for a simple first-order functional language with arrays. We exhibit a bisimulation between the functional execution and the imperative execution. This bisimulation shows that the generated imperative program returns the same result as the functional program.", 
  "title": "The Correctness of a Code Generator for a Functional Language", 
  "page": "68-89", 
  "type": "chapter", 
  "id": "3965629"
Views 40
Downloads 19
Data volume 6.7 MB
Unique views 39
Unique downloads 19


Cite as