Software Open Access

A Modern Compiler for the French Tax Code - Artifact

Denis Merigoux; Raphaël Monat; Jonathan Protzenko


DataCite XML Export

<?xml version='1.0' encoding='utf-8'?>
<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://datacite.org/schema/kernel-4" xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4.1/metadata.xsd">
  <identifier identifierType="DOI">10.5281/zenodo.4456774</identifier>
  <creators>
    <creator>
      <creatorName>Denis Merigoux</creatorName>
      <nameIdentifier nameIdentifierScheme="ORCID" schemeURI="http://orcid.org/">0000-0003-2247-0938</nameIdentifier>
      <affiliation>Inria</affiliation>
    </creator>
    <creator>
      <creatorName>Raphaël Monat</creatorName>
      <nameIdentifier nameIdentifierScheme="ORCID" schemeURI="http://orcid.org/">0000-0001-8487-0326</nameIdentifier>
      <affiliation>LIP6, Sorbonne Université &amp; CNRS</affiliation>
    </creator>
    <creator>
      <creatorName>Jonathan Protzenko</creatorName>
      <affiliation>Microsoft Research</affiliation>
    </creator>
  </creators>
  <titles>
    <title>A Modern Compiler for the French Tax Code - Artifact</title>
  </titles>
  <publisher>Zenodo</publisher>
  <publicationYear>2021</publicationYear>
  <subjects>
    <subject>compiler</subject>
    <subject>tax code</subject>
    <subject>legal expert system</subject>
  </subjects>
  <dates>
    <date dateType="Issued">2021-01-22</date>
  </dates>
  <resourceType resourceTypeGeneral="Software"/>
  <alternateIdentifiers>
    <alternateIdentifier alternateIdentifierType="url">https://zenodo.org/record/4456774</alternateIdentifier>
  </alternateIdentifiers>
  <relatedIdentifiers>
    <relatedIdentifier relatedIdentifierType="DOI" relationType="IsCitedBy" resourceTypeGeneral="ConferencePaper">10.1145/3446804.3446850</relatedIdentifier>
    <relatedIdentifier relatedIdentifierType="DOI" relationType="IsVersionOf">10.5281/zenodo.4415607</relatedIdentifier>
  </relatedIdentifiers>
  <version>CC21-AEC-v1.1</version>
  <rightsList>
    <rights rightsURI="https://opensource.org/licenses/GPL-3.0">GNU General Public License v3.0 only</rights>
    <rights rightsURI="info:eu-repo/semantics/openAccess">Open Access</rights>
  </rightsList>
  <descriptions>
    <description descriptionType="Abstract">&lt;p&gt;In France, income tax is computed from taxpayers&amp;rsquo; individual returns, using an algorithm that is authored, designed&amp;nbsp;and maintained by the French Public Finances Directorate&amp;nbsp;(DGFiP). This algorithm relies on a legacy custom language&amp;nbsp;and compiler originally designed in 1990, which unlike French&amp;nbsp;wine, did not age well with time. Owing to the shortcomings of the input language and the technical limitations of&amp;nbsp;the compiler, the algorithm is proving harder and harder&amp;nbsp;to maintain, relying on ad-hoc behaviors and workarounds&amp;nbsp;to implement the most recent changes in tax law. Competence loss and aging code also mean that the system does not&lt;br&gt;
benefit from any modern compiler techniques that would&amp;nbsp;increase confidence in the implementation.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;We overhaul this infrastructure and present Mlang, an&amp;nbsp;open-source compiler toolchain whose goal is to replace&amp;nbsp;the existing infrastructure. Mlang is based on a reverse-engineered formalization of the DGFiP&amp;rsquo;s system, and has&amp;nbsp;been thoroughly validated against the private DGFiP test&lt;br&gt;
suite. As such, Mlang has a formal semantics; eliminates&amp;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&amp;nbsp;income tax computation. The DGFiP is now officially transitioning to Mlang for their production system.&lt;/p&gt;

&lt;p&gt;This is the artifact accompanying the published paper at Compiler Construction 2021.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
  </descriptions>
  <fundingReferences>
    <fundingReference>
      <funderName>European Commission</funderName>
      <funderIdentifier funderIdentifierType="Crossref Funder ID">10.13039/501100000780</funderIdentifier>
      <awardNumber awardURI="info:eu-repo/grantAgreement/EC/H2020/681393/">681393</awardNumber>
      <awardTitle>Modular Open Platform for Static Analysis</awardTitle>
    </fundingReference>
  </fundingReferences>
</resource>
89
39
views
downloads
All versions This version
Views 8944
Downloads 3926
Data volume 79.8 GB5.7 GB
Unique views 6038
Unique downloads 3222

Share

Cite as