Uppsats
Automated Inference of ACSL Contracts for Programs with Heaps
Master-uppsats
KTH/Skolan för elektroteknik och datavetenskap (EECS)
Publicerad: 2023
Språk: Engelska
Sammanfattning
Contract inference consists in automatically computing contracts that formally describe the behaviour of program functions. Contracts are used in deductive verification, which is a method for verifying whether a system behaves according to a provided specification. The Saida plugin in Frama-C is a contract inference tool for C code. This thesis explores an extension to the Saida plugin which allows support for pointers and heap allocations. The goal is to evaluate to what extent model checking tools can be used to infer contracts for deductive verification of programs that use pointers and heap allocations. This is done by proposing a translation strategy to convert contracts containing heap expressions, generated by the model checker TriCera, into ACSL, a specification language used by Frama-C. An implementation of this translation is evaluated using a set of verification tasks. The results demonstrate that the inferred contracts are sucient to verify simple code samples, including features such as recursion, aliasing, and manipulation of heap-allocated structs. However, the results also reveal cases where the contracts are too weak, although more information could be extracted in the translation. It is concluded that model checking tools can infer contracts for deductive verification of programs with pointers and heap allocations, but currently to a limited extent. Several improvements to the translation strategy are proposed for future work.
Information
- Författare
- Söderberg, Oskar
- Lärosäte / institution
- KTH/Skolan för elektroteknik och datavetenskap (EECS)
- Publiceringsdatum
- 2023
- Uppsatstyp
- Master-uppsats
- Språk
- Engelska
Utforska vidare
Liknande uppsatser
Uppsatser med liknande ämnen och nyckelord.
Master-uppsats, KTH/Skolan för elektroteknik och datavetenskap (EECS)
Granqvist, Lukas
Publicerad: 2025
Master-uppsats, Uppsala universitet/Institutionen för informatik och media
Christodoulidou, Theodora
Publicerad: 2025
Master-uppsats, KTH/Skolan för elektroteknik och datavetenskap (EECS)
Darous, Romain
Publicerad: 2025
Master-uppsats, Uppsala universitet/Teologiska institutionen
Lindholm, Sara
Publicerad: 2025
Master-uppsats, Uppsala universitet/Datalogi
Tannous, Mario
Publicerad: 2025
Master-uppsats, Göteborgs universitet/Graduate School
Bienkowska, Zofia, Deng, Zixing
Publicerad: 2026-06-24