FormaliSE 2025
Sun 27 - Mon 28 April 2025 Ottawa, Ontario, Canada
co-located with ICSE 2025

This program is tentative and subject to change.

Mon 28 Apr 2025 15:00 - 15:30 at 203 - Session 5 - Formal Specification and Verification: Chair(s): Toshiaki Aoki

Critical software systems (e.g., weapon systems, medical devices, nuclear power plants, aircraft, cars, …) need strong safety and security guarantees, since a bug can have very bad consequences.

The C programming language, created in the 70s, is still widely used in critical systems because it is a mature low-level language, with a wide range of compilers for many CPU architectures, and a very large code base of battle-tested libraries. The C language gives developer much freedom, which is one of the reasons for its popularity, but makes it easy to write a bad program whose behavior is undefined by the C standard, leading to safety and security risks.

This calls for powerful verification techniques, such as formal methods, to assess C programs. Frama-C is an Open-Source platform dedicated to the analysis of C programs. Recently, a Frama-C plug-in has been developed for Typestates properties verification. These properties restrict possible operations on objects of a given datatype, depending on its current state. This plug-in instruments the original program with formal annotations, in order to then use standard Frama-C analyzers.

We propose in this paper a formalization for this instrumentation, in order to prove its correctness. In other words, if the original code is a valid program and respects its Typestates specification, then the instrumented code should be valid and produce identical results. Conversely, if the original code is invalid or non-compliant with its Typestates specification, its instrumented version should be invalid. To this end, we define a simple language with pointers and function calls, for which we define semantic rules and an instrumentation function in the Skel meta-language. Subsequently, we use the Necro Coq tool to build a mechanized formalization for the Coq proof assistant.

This program is tentative and subject to change.

Mon 28 Apr

Displayed time zone: Eastern Time (US & Canada) change

14:00 - 15:30
Session 5 - Formal Specification and Verification:Research Track at 203
Chair(s): Toshiaki Aoki JAIST
14:00
30m
Talk
Refining Alloy-Based Mutation Operators to Reflect Common Mistakes
Research Track
Ana Jovanovic The University of Texas at Arlington, Mohammad Nurullah Patwary The University of Texas at Arlington, Allison Sullivan University of Texas at Arlington
14:30
30m
Talk
Verifying Multiple TLA+ Configurations with Blast
Research Track
Paul Somson INESC TEC, Alcino Cunha University of Minho; INESC TEC
Pre-print
15:00
30m
Talk
Typestates Specification and Verification in Frama-C
Research Track
Sébastien Patte Université Paris-Saclay, CEA, List, Virgile Prevosto Université Paris-Saclay, CEA, List