A modern compiler for the French tax code

  title={A modern compiler for the French tax code},
  author={Denis Merigoux and Rapha{\"e}l Monat and Jonathan Protzenko},
  journal={Proceedings of the 30th ACM SIGPLAN International Conference on Compiler Construction},
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… Expand
Blockchain Initiatives for Tax Administration
A thriving body of literature discusses various legal issues related to blockchain, but often it mixes the discussion about blockchain with cryptocurrency. However, blockchain is not the same asExpand
Catala: a programming language for the law
Catala is introduced, a new programming language that is specifically designed to allow a straightforward and systematic translation of statutory law into an executable implementation, and observes as a consequence of the formalization process that using Catala enables rich interactions between lawyers and programmers, leading to a greater understanding of the original legislative intent. Expand


KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs
A new symbolic execution tool, KLEE, capable of automatically generating tests that achieve high coverage on a diverse set of complex and environmentally-intensive programs, and significantly beat the coverage of the developers' own hand-written test suite is presented. Expand
Towards Formalizing Statute Law as Default Logic through Automatic Semantic Parsing
The project goal is to facilitate a new approach to statute composition wherein a logic representation of existing law would be extended and checked before its translation to natural language. Expand
Verified Compilation of Floating-Point Computations
This paper reports on the recent success in formally specifying and proving correct CompCert’s compilation of floating-point arithmetic and obtains the first formally verified compiler that provably preserves the semantics offloating-point programs. Expand
Formalizing the Code
The article uses the problem of definitional scope as a case study to suggest that those who draft tax legislation should formalize proposed statutory language — translate it into logical terms — prior to its enactment. Expand
Contracts and Computation — Formal modelling and analysis for normative natural language
The goal is to create tools which can take a natural language document as input and allow an end user to easily ask questions about its implications, getting back meaningful answers in natural language within a reasonable amount of time. Expand
Symbolic Logic: A Razor-Edged Tool for Drafting and Interpreting Legal Documents
It is suggested that a new approach to drafting, using certain elementary notions of symbolic logic, can go a long way towards eliminating such inadvertent ambiguity. Expand
A Dataset for Statutory Reasoning in Tax Law Entailment and Question Answering
To investigate the performance of natural language understanding approaches on statutory reasoning, a dataset is introduced, together with a legal-domain text corpus, and straightforward application of machine reading models exhibits low out-of-the-box performance on questions, whether or not they have been fine-tuned to the legal domain. Expand
Formal Verification of Financial Algorithms
The use of formal verification for analysing the safety and fairness of financial algorithms is pioneered, with a focus on financial infrastructure, and the landscape is described and the Imandra formal verification system illustrated. Expand
Cracking the code: Rulemaking for humans and machines
Rules as Code (RaC) is an exciting concept that rethinks one of the core functions of governments: rulemaking. It proposes that governments create an official version of rules (e.g. laws andExpand
SPESC: A Specification Language for Smart Contracts
SPESC is proposed, a specification language for smart contracts, which can define the specification of a smart contract for the purpose of collaborative design and can be easily learned and understood by both IT and non-IT users and thus has greater potential to facilitate collaborative smart contract development. Expand