ECOOP 2025
Mon 30 June - Fri 4 July 2025 Bergen, Norway

Static analyzers have been successfully developed to detect runtime errors in many languages. However, automatic analysis of functional languages remains a challenge, due to their recursive functions, recursive algebraic datatypes and higher order. Classical type systems provide compositional methods that are in general not precise enough to prove the absence of runtime errors such as assertion failures. At the other end of the spectrum, deductive methods are more expressive but may require user guidance to prove invariants.

Our work describes a value static analyzer by abstract interpretation for a higher-order pure functional language, a sound and automatic approach to discover invariants, prevent assertion and match failures. Based on relational abstract domains, our method is able to analyze higher-order recursive functions manipulating algebraic data types by inferring input-output relations. To this end, we introduce a domain summarizing recursive algebraic data-types, which is parameterized by the different abstractions of the underlying types, and lift existing disjunctive relational summaries to higher-order by formalizing them as a domain able to abstract higher-order functions. The resulting analysis is compositional: functions are analyzed once and for all at their definition site, generating a summary of their behavior.

This framework enables a precise and relational abstract interpretation-based analysis for higher-order pure functional languages. This analysis is implemented in the open-source multi-language platform MOPSA, for a subset of OCaml. Preliminary evaluation confirms the precision of our approach on a set of 40 handwritten toy programs and 20 programs from state-of-the-art Salto analyzer.

Mon 30 Jun

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

11:00 - 12:45
Formal Methods, Logics, and Static Analysis FrameworksTechnical Papers at Auditorium M003
Chair(s): Marco Carbone IT University of Copenhagen
11:00
21m
Talk
Compositional Static Value Analysis for Higher-Order Numerical Programs
Technical Papers
Milla Valnet Sorbonne Université, Raphaël Monat Inria and University of Lille, Antoine Miné Sorbonne Université
11:21
21m
Talk
Lightweight Diagramming for Formal Methods: A Grounded Language Design
Technical Papers
Siddhartha Prasad Brown University, Ben Greenman University of Utah, Tim Nelson Brown University, Shriram Krishnamurthi Brown University
11:42
21m
Talk
Taming and Dissecting Recursions through Interprocedural Weak Topological Ordering
Technical Papers
Jiawei Yang , Xiao Cheng Macquarie University, Bor-Yuh Evan Chang University of Colorado Boulder & Amazon, Xiapu Luo Hong Kong Polytechnic University, Yulei Sui University of New South Wales
12:03
21m
Talk
The Algebra of Patterns
Technical Papers
David Binder University of Kent, UK, Lean Ermantraut Radboud University Nijmegen
12:24
21m
Talk
A theory of (linear-time) timed monitors
Technical Papers
Mouloud Amara IRIF, Université Paris Cité, Giovanni Bernardi IRIF, Université Paris Cité, Mohammed Aristide Foughali Université Paris Cité / IRIF, Adrian Francalanza University of Malta
:
:
:
: