Formal Verification and Resource-Conscious Approximation in Programming Languages

Report on Current Developments in the Research Area

General Direction of the Field

The recent developments in the research area indicate a strong trend towards formal verification, resource-conscious approximation theories, and the integration of classical logic into programming language semantics. There is a noticeable shift towards ensuring the correctness and stability of computational models, particularly in the context of functional and imperative programming languages. The field is also witnessing advancements in the formal verification of algebraic and operational semantics, with a focus on bridging the gap between theoretical constructs and practical implementations.

One of the key areas of innovation is the adaptation of existing approximation techniques to new calculi, such as the call-by-value $\lambda$-calculus and the $\lambda\mu$-calculus. These adaptations not only extend the applicability of these techniques but also provide deeper insights into the stability and sequentiality properties of these calculi. Additionally, there is a growing interest in the formal verification of programming language frameworks, with a focus on generating provably correct interpreters from formal language definitions.

Another significant development is the exploration of exact real-number computation within imperative programming languages. This involves the integration of nondeterministic guarded choice and limit operators to handle the semidecidability of real-number comparisons. The interplay between mutable state, nondeterminism, and computation of limits is being rigorously controlled and formalized, leading to the development of domain-theoretic denotational semantics and Hoare-style specification logic.

Noteworthy Papers

  • Well-Behaved (Co)algebraic Semantics of Regular Expressions in Dafny: This paper stands out for its formal verification of the equivalence between denotational and operational semantics of regular expressions, using Dafny.

  • Minuska: Towards a Formally Verified Programming Language Framework: This work is notable for introducing a practical framework that generates provably correct interpreters, addressing the trustworthiness of complex programming language tools.

  • Stability Property for the Call-by-Value $λ$-calculus through Taylor Expansion: The paper is significant for proving the Stability Property for the call-by-value $\lambda$-calculus using Taylor-resource approximation, a technique that has been adapted to this calculus.

  • Resource approximation for the $λμ$-calculus: This paper is noteworthy for extending Ehrhard and Regnier's Taylor expansion to the $\lambda\mu$-calculus, providing a resource-conscious approximation theory and proving advanced properties of this calculus.

  • An Imperative Language for Verified Exact Real-Number Computation: The introduction of Clerical, a language for exact real-number computation, is particularly innovative, combining imperative-style programming with nondeterministic guarded choice and limit operators.

Sources

Run supports and initial algebra supports of weighted automata

On the B-series composition theorem

Towards Verified Polynomial Factorisation

Well-Behaved (Co)algebraic Semantics of Regular Expressions in Dafny

Minuska: Towards a Formally Verified Programming Language Framework

Stability Property for the Call-by-Value $λ$-calculus through Taylor Expansion

Resource approximation for the $λμ$-calculus

An Imperative Language for Verified Exact Real-Number Computation

Built with on top of