Planned intervention: On Wednesday April 3rd 05:30 UTC Zenodo will be unavailable for up to 2-10 minutes to perform a storage cluster upgrade.
Published January 22, 2021 | Version CC21-AEC-v1.1
Software Open

A Modern Compiler for the French Tax Code - Artifact

  • 1. Inria
  • 2. LIP6, Sorbonne Université & CNRS
  • 3. Microsoft Research

Description

In France, income tax is computed from taxpayers’ individual returns, using an algorithm that is authored, designed and maintained by the French Public Finances Directorate (DGFiP). This algorithm relies on a legacy custom language and compiler originally designed in 1990, which unlike French wine, did not age well with time. Owing to the shortcomings of the input language and the technical limitations of the compiler, the algorithm is proving harder and harder to maintain, relying on ad-hoc behaviors and workarounds to implement the most recent changes in tax law. Competence loss and aging code also mean that the system does not
benefit from any modern compiler techniques that would increase confidence in the implementation. 

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

This is the artifact accompanying the published paper at Compiler Construction 2021. 

 

Files

artefact_description.pdf

Files (5.7 GB)

Name Size Download all
md5:65bfd35c95a08dd182fdb5a324b61700
173.8 kB Preview Download
md5:5bd8b54e3861c2d6d4960b2c0ab8eba3
5.7 GB Download

Additional details

Related works

Is cited by
Conference paper: 10.1145/3446804.3446850 (DOI)

Funding

MOPSA – Modular Open Platform for Static Analysis 681393
European Commission