Software Open Access

A Modern Compiler for the French Tax Code - Artifact

Denis Merigoux; Raphaël Monat; Jonathan Protzenko


JSON Export

{
  "files": [
    {
      "links": {
        "self": "https://zenodo.org/api/files/66e39a55-f670-4cae-b0e1-74764034f9f9/artefact_description.pdf"
      }, 
      "checksum": "md5:65bfd35c95a08dd182fdb5a324b61700", 
      "bucket": "66e39a55-f670-4cae-b0e1-74764034f9f9", 
      "key": "artefact_description.pdf", 
      "type": "pdf", 
      "size": 173751
    }, 
    {
      "links": {
        "self": "https://zenodo.org/api/files/66e39a55-f670-4cae-b0e1-74764034f9f9/Mlang%20CC2021%20Artefact.ova"
      }, 
      "checksum": "md5:5bd8b54e3861c2d6d4960b2c0ab8eba3", 
      "bucket": "66e39a55-f670-4cae-b0e1-74764034f9f9", 
      "key": "Mlang CC2021 Artefact.ova", 
      "type": "ova", 
      "size": 5700557824
    }
  ], 
  "owners": [
    183211
  ], 
  "doi": "10.5281/zenodo.4456774", 
  "stats": {
    "version_unique_downloads": 23.0, 
    "unique_views": 25.0, 
    "views": 31.0, 
    "version_views": 71.0, 
    "unique_downloads": 14.0, 
    "version_unique_views": 43.0, 
    "volume": 2953767.0, 
    "version_downloads": 29.0, 
    "downloads": 17.0, 
    "version_volume": 68409647655.0
  }, 
  "links": {
    "doi": "https://doi.org/10.5281/zenodo.4456774", 
    "conceptdoi": "https://doi.org/10.5281/zenodo.4415607", 
    "bucket": "https://zenodo.org/api/files/66e39a55-f670-4cae-b0e1-74764034f9f9", 
    "conceptbadge": "https://zenodo.org/badge/doi/10.5281/zenodo.4415607.svg", 
    "html": "https://zenodo.org/record/4456774", 
    "latest_html": "https://zenodo.org/record/4456774", 
    "badge": "https://zenodo.org/badge/doi/10.5281/zenodo.4456774.svg", 
    "latest": "https://zenodo.org/api/records/4456774"
  }, 
  "conceptdoi": "10.5281/zenodo.4415607", 
  "created": "2021-01-22T10:33:01.830532+00:00", 
  "updated": "2021-01-22T12:27:21.518943+00:00", 
  "conceptrecid": "4415607", 
  "revision": 2, 
  "id": 4456774, 
  "metadata": {
    "access_right_category": "success", 
    "doi": "10.5281/zenodo.4456774", 
    "version": "CC21-AEC-v1.1", 
    "license": {
      "id": "GPL-3.0"
    }, 
    "title": "A Modern Compiler for the French Tax Code - Artifact", 
    "related_identifiers": [
      {
        "scheme": "doi", 
        "identifier": "10.1145/3446804.3446850", 
        "relation": "isCitedBy", 
        "resource_type": "publication-conferencepaper"
      }, 
      {
        "scheme": "doi", 
        "identifier": "10.5281/zenodo.4415607", 
        "relation": "isVersionOf"
      }
    ], 
    "relations": {
      "version": [
        {
          "count": 2, 
          "index": 1, 
          "parent": {
            "pid_type": "recid", 
            "pid_value": "4415607"
          }, 
          "is_last": true, 
          "last_child": {
            "pid_type": "recid", 
            "pid_value": "4456774"
          }
        }
      ]
    }, 
    "grants": [
      {
        "code": "681393", 
        "links": {
          "self": "https://zenodo.org/api/grants/10.13039/501100000780::681393"
        }, 
        "title": "Modular Open Platform for Static Analysis", 
        "acronym": "MOPSA", 
        "program": "H2020", 
        "funder": {
          "doi": "10.13039/501100000780", 
          "acronyms": [], 
          "name": "European Commission", 
          "links": {
            "self": "https://zenodo.org/api/funders/10.13039/501100000780"
          }
        }
      }
    ], 
    "keywords": [
      "compiler", 
      "tax code", 
      "legal expert system"
    ], 
    "publication_date": "2021-01-22", 
    "creators": [
      {
        "orcid": "0000-0003-2247-0938", 
        "affiliation": "Inria", 
        "name": "Denis Merigoux"
      }, 
      {
        "orcid": "0000-0001-8487-0326", 
        "affiliation": "LIP6, Sorbonne Universit\u00e9 & CNRS", 
        "name": "Rapha\u00ebl Monat"
      }, 
      {
        "affiliation": "Microsoft Research", 
        "name": "Jonathan Protzenko"
      }
    ], 
    "meeting": {
      "acronym": "CC", 
      "url": "https://conf.researchr.org/home/CC-2021", 
      "dates": "2-3 March 2021", 
      "title": "Compiler Construction"
    }, 
    "access_right": "open", 
    "resource_type": {
      "type": "software", 
      "title": "Software"
    }, 
    "description": "<p>In France, income tax is computed from taxpayers&rsquo; individual returns, using an algorithm that is authored, designed&nbsp;and maintained by the French Public Finances Directorate&nbsp;(DGFiP). This algorithm relies on a legacy custom language&nbsp;and compiler originally designed in 1990, which unlike French&nbsp;wine, did not age well with time. Owing to the shortcomings of the input language and the technical limitations of&nbsp;the compiler, the algorithm is proving harder and harder&nbsp;to maintain, relying on ad-hoc behaviors and workarounds&nbsp;to implement the most recent changes in tax law. Competence loss and aging code also mean that the system does not<br>\nbenefit from any modern compiler techniques that would&nbsp;increase confidence in the implementation.&nbsp;</p>\n\n<p>We overhaul this infrastructure and present Mlang, an&nbsp;open-source compiler toolchain whose goal is to replace&nbsp;the existing infrastructure. Mlang is based on a reverse-engineered formalization of the DGFiP&rsquo;s system, and has&nbsp;been thoroughly validated against the private DGFiP test<br>\nsuite. As such, Mlang has a formal semantics; eliminates&nbsp;previous hand-written workarounds in C; compiles to modern languages (Python); and enables a variety of instrumentations, providing deep insights about the essence of French&nbsp;income tax computation. The DGFiP is now officially transitioning to Mlang for their production system.</p>\n\n<p>This is the artifact accompanying the published paper at Compiler Construction 2021.&nbsp;</p>\n\n<p>&nbsp;</p>"
  }
}
71
29
views
downloads
All versions This version
Views 7131
Downloads 2917
Data volume 68.4 GB3.0 MB
Unique views 4325
Unique downloads 2314

Share

Cite as