Formalizing Date Arithmetic and Statically Detecting Ambiguities for the Law

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Monat, Raphaël, Fromherz, Aymeric, Merigoux, Denis
Format: Preprint
Published: 2024
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866910366952325120
author Monat, Raphaël
Fromherz, Aymeric
Merigoux, Denis
author_facet Monat, Raphaël
Fromherz, Aymeric
Merigoux, Denis
contents Legal expert systems routinely rely on date computations to determine the eligibility of a citizen to social benefits or whether an application has been filed on time. Unfortunately, date arithmetic exhibits many corner cases, which are handled differently from one library to the other, making faithfully transcribing the law into code error-prone, and possibly leading to heavy financial and legal consequences for users. In this work, we aim to provide a solid foundation for date arithmetic working on days, months and years. We first present a novel, formal semantics for date computations, and formally establish several semantic properties through a mechanization in the F* proof assistant. Building upon this semantics, we then propose a static analysis by abstract interpretation to automatically detect ambiguities in date computations. We finally integrate our approach in the Catala language, a recent domain-specific language for formalizing computational law, and use it to analyze the Catala implementation of the French housing benefits, leading to the discovery of several date-related ambiguities.
format Preprint
id arxiv_https___arxiv_org_abs_2403_08935
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Formalizing Date Arithmetic and Statically Detecting Ambiguities for the Law
Monat, Raphaël
Fromherz, Aymeric
Merigoux, Denis
Programming Languages
Legal expert systems routinely rely on date computations to determine the eligibility of a citizen to social benefits or whether an application has been filed on time. Unfortunately, date arithmetic exhibits many corner cases, which are handled differently from one library to the other, making faithfully transcribing the law into code error-prone, and possibly leading to heavy financial and legal consequences for users. In this work, we aim to provide a solid foundation for date arithmetic working on days, months and years. We first present a novel, formal semantics for date computations, and formally establish several semantic properties through a mechanization in the F* proof assistant. Building upon this semantics, we then propose a static analysis by abstract interpretation to automatically detect ambiguities in date computations. We finally integrate our approach in the Catala language, a recent domain-specific language for formalizing computational law, and use it to analyze the Catala implementation of the French housing benefits, leading to the discovery of several date-related ambiguities.
title Formalizing Date Arithmetic and Statically Detecting Ambiguities for the Law
topic Programming Languages
url https://arxiv.org/abs/2403.08935