Book section Open Access
Courant, Nathanaël;
Séré, Antoine;
Shankar, Natarajan
{ "files": [ { "links": { "self": "https://zenodo.org/api/files/3a3cbcf7-dc28-45f5-b78f-b2731ad07068/article.pdf" }, "checksum": "md5:b73c7d3b1dfe827954bb11fb6d017f67", "bucket": "3a3cbcf7-dc28-45f5-b78f-b2731ad07068", "key": "article.pdf", "type": "pdf", "size": 351218 } ], "owners": [ 13380 ], "doi": "10.1007/978-3-030-39322-9_4", "stats": { "version_unique_downloads": 19.0, "unique_views": 39.0, "views": 40.0, "version_views": 40.0, "unique_downloads": 19.0, "version_unique_views": 39.0, "volume": 6673142.0, "version_downloads": 19.0, "downloads": 19.0, "version_volume": 6673142.0 }, "links": { "doi": "https://doi.org/10.1007/978-3-030-39322-9_4", "latest_html": "https://zenodo.org/record/3965629", "bucket": "https://zenodo.org/api/files/3a3cbcf7-dc28-45f5-b78f-b2731ad07068", "badge": "https://zenodo.org/badge/doi/10.1007/978-3-030-39322-9_4.svg", "html": "https://zenodo.org/record/3965629", "latest": "https://zenodo.org/api/records/3965629" }, "created": "2020-07-29T09:55:06.412509+00:00", "updated": "2020-07-30T00:59:24.624309+00:00", "conceptrecid": "3965628", "revision": 2, "id": 3965629, "metadata": { "access_right_category": "success", "doi": "10.1007/978-3-030-39322-9_4", "description": "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.", "license": { "id": "zenodo-freetoread-1.0" }, "title": "The Correctness of a Code Generator for a Functional Language", "journal": { "pages": "68-89", "title": "Lecture Notes in Computer Science" }, "relations": { "version": [ { "count": 1, "index": 0, "parent": { "pid_type": "recid", "pid_value": "3965628" }, "is_last": true, "last_child": { "pid_type": "recid", "pid_value": "3965629" } } ] }, "publication_date": "2020-01-01", "creators": [ { "orcid": "0000-0002-8736-3060", "name": "Courant, Nathana\u00ebl" }, { "name": "S\u00e9r\u00e9, Antoine" }, { "name": "Shankar, Natarajan" } ], "access_right": "open", "resource_type": { "subtype": "section", "type": "publication", "title": "Book section" } } }
Views | 40 |
Downloads | 19 |
Data volume | 6.7 MB |
Unique views | 39 |
Unique downloads | 19 |