Transformations for Verifying Programs with Heap-Allocated Data Structures
2025 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]
Verifying programs that manipulate heap-allocated data structures is a long-standing challenge in software verification. This thesis summarises a series of five papers that advance the state of the art in automated verification of such programs through transformation-based approaches. The contributions include the development of a formal SMT-LIB theory of heaps to represent heap operations, the implementation of this theory in an automated verification tool for C programs, and novel invariant-based encodings that simplify reasoning about heap structures. The thesis further presents methods for automatically instrumenting programs to simplify verification tasks involving quantified properties and aggregations. All proposed techniques are fully automated and do not rely on user-provided annotations, enabling verification of heap-manipulating programs with quantified invariants that previously posed significant challenges to automated verification tools.
Place, publisher, year, edition, pages
Uppsala: Acta Universitatis Upsaliensis, 2025. , p. 55
Series
Digital Comprehensive Summaries of Uppsala Dissertations from the Faculty of Science and Technology, ISSN 1651-6214 ; 2541
Keywords [en]
program verification, formal verification, constrained horn clauses, heaps, heap-allocated data structures, theory of heaps, program transformation, formal methods, smt, smt-lib, program instrumentation
National Category
Computer Sciences
Research subject
Computer Science with specialization in Embedded Systems
Identifiers
URN: urn:nbn:se:uu:diva-554456ISBN: 978-91-513-2484-5 (print)OAI: oai:DiVA.org:uu-554456DiVA, id: diva2:1952212
Public defence
2025-06-05, Häggsalen, Ångströmlaboratoriet, Regementsvägen 10, Uppsala, 13:15 (English)
Opponent
Supervisors
2025-05-132025-04-152025-05-21
List of papers