Digitala Vetenskapliga Arkivet

Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Transformations for Verifying Programs with Heap-Allocated Data Structures
Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computer Systems. Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Division of Computer Systems.ORCID iD: 0000-0002-1522-6673
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
Available from: 2025-05-13 Created: 2025-04-15 Last updated: 2025-05-21
List of papers
1. An SMT-LIB Theory of Heaps
Open this publication in new window or tab >>An SMT-LIB Theory of Heaps
2022 (English)In: Proceedings of the 20th Internal Workshop on Satisfiability Modulo Theories co-located with the 11th International Joint Conference on Automated Reasoning (IJCAR 2022) part of the 8th Federated Logic Conference (FLoC 2022) / [ed] David Déharbe; Antti E. J. Hyvärinen, CEUR , 2022, p. 38-53Conference paper, Published paper (Refereed)
Place, publisher, year, edition, pages
CEUR, 2022
Series
CEUR workshop proceedings, E-ISSN 1613-0073 ; 3185
Keywords
smt-lib, theory of heaps, smt, program verification, constrained horn clauses, formal verification
National Category
Computer Sciences
Research subject
Computer Science
Identifiers
urn:nbn:se:uu:diva-554453 (URN)
Conference
20th International Workshop on Satisfiability Modulo Theories (SMT 2022), Haifa, Israel, August 11-12, 2022
Available from: 2025-04-13 Created: 2025-04-13 Last updated: 2025-07-02Bibliographically approved
2. TRICERA: Verifying C Programs Using the Theory of Heaps
Open this publication in new window or tab >>TRICERA: Verifying C Programs Using the Theory of Heaps
2022 (English)In: Proceedings of the 22nd Conference on Formal Methods in Computer-Aided Design – FMCAD 2022 / [ed] Alberto Griggio, Neha Rungta, TU Wien Academic Press , 2022, p. 380-391Conference paper, Published paper (Refereed)
Abstract [en]

TRICERA is an automated, open-source verification tool for C programs based on the concept of Constrained Horn Clauses (CHCs). In order to handle programs operating on heap, Tricera applies a novel theory of heaps, which enables the tool to hand off most of the required heap reasoning directly to the underlying CHC solver. This leads to a cleaner interface between the language-specific verification front-end and the language-independent CHC back-end, and enables verification tools for different programming languages to share a common heap back-end. The paper introduces Tricera, gives an overview of the theory of heaps, and presents preliminary experimental results using SV-COMP benchmarks.

Place, publisher, year, edition, pages
TU Wien Academic Press, 2022
Series
Formal Methods in Computer-Aided Design
National Category
Computer Sciences
Research subject
Computer Science
Identifiers
urn:nbn:se:uu:diva-510212 (URN)10.34727/2022/isbn.978-3-85448-053-2_45 (DOI)001062691400045 ()978-1-6654-8040-6 (ISBN)978-3-85448-053-2 (ISBN)
Conference
22nd Conference on Formal Methods in Computer-Aided Design (FMCAD), OCT 18-21 2022, Italy
Funder
Swedish Research Council, 2018-04727Swedish Foundation for Strategic Research, WebSec RIT17-0011Knut and Alice Wallenberg Foundation
Available from: 2023-08-25 Created: 2023-08-25 Last updated: 2025-04-15Bibliographically approved
3. Finding Universally Quantified Heap Invariants by Horn Clause Transformations
Open this publication in new window or tab >>Finding Universally Quantified Heap Invariants by Horn Clause Transformations
2025 (English)In: Fundamentals of Software Engineering - 11th IFIP WG 2.2 International Conference, FSEN 2025, Västerås, Sweden, April 7-8, 2025, Proceedings, Springer , 2025, p. 42-60Conference paper, Published paper (Refereed)
Place, publisher, year, edition, pages
Springer, 2025
National Category
Computer Sciences
Research subject
Computer Science
Identifiers
urn:nbn:se:uu:diva-554454 (URN)10.1007/978-3-031-87054-5_4 (DOI)
Conference
FSEN 2025 - Fundamentals of Software Engineering
Available from: 2025-04-13 Created: 2025-04-13 Last updated: 2025-04-15
4. Sound and Complete Invariant-Based Heap Encodings
Open this publication in new window or tab >>Sound and Complete Invariant-Based Heap Encodings
(English)Manuscript (preprint) (Other academic)
National Category
Computer Sciences
Identifiers
urn:nbn:se:uu:diva-554455 (URN)
Available from: 2025-04-13 Created: 2025-04-13 Last updated: 2025-04-15
5. Automatic Program Instrumentation for Automatic Verification
Open this publication in new window or tab >>Automatic Program Instrumentation for Automatic Verification
Show others...
2023 (English)In: CAV 2023: Computer Aided Verification, Springer Nature, 2023, Vol. 13966, p. 281-304Conference paper, Published paper (Refereed)
Abstract [en]

In deductive verification and software model checking, dealing with certain specification language constructs can be problematic when the back-end solver is not sufficiently powerful or lacks the required theories. One way to deal with this is to transform, for verification purposes, the program to an equivalent one not using the problematic constructs, and to reason about its correctness instead. In this paper, we propose instrumentation as a unifying verification paradigm that subsumes various existing ad-hoc approaches, has a clear formal correctness criterion, can be applied automatically, and can transfer back witnesses and counterexamples. We illustrate our approach on the automated verification of programs that involve quantification and aggregation operations over arrays, such as the maximum value or sum of the elements in a given segment of the array, which are known to be difficult to reason about automatically. We implement our approach in the MonoCera tool, which is tailored to the verification of programs with aggregation, and evaluate it on example programs, including SV-COMP programs.

Place, publisher, year, edition, pages
Springer Nature, 2023
Series
Lecture Notes in Computer Science, ISSN 0302-9743, E-ISSN 1611-3349 ; 13966
National Category
Computer Sciences
Research subject
Computer Science
Identifiers
urn:nbn:se:uu:diva-510220 (URN)10.1007/978-3-031-37709-9_14 (DOI)001310805600014 ()978-3-031-37708-2 (ISBN)978-3-031-37709-9 (ISBN)
Conference
International Conference on Computer Aided Verification (CAV)
Available from: 2023-08-25 Created: 2023-08-25 Last updated: 2025-04-15Bibliographically approved

Open Access in DiVA

UUThesis_Esen,Z-2025(548 kB)102 downloads
File information
File name FULLTEXT01.pdfFile size 548 kBChecksum SHA-512
415562cc5d0e6ccf733293977cf7661135d0b7dcab0df9bc8a7ee7d63bec5fd9ef4e549c742afdbf50d80de9b692b2e7d22ad0c15be4db5ccbc104be82e042c4
Type fulltextMimetype application/pdf
Errata-Swedish-Summary(23 kB)27 downloads
File information
File name ERRATA01.pdfFile size 23 kBChecksum SHA-512
de9c200db67544e05d23cae8aa404436182fe1dfbe9315581dc3d8e879c8a7596014f3815bfcfda8d43af6b78a01861238c8ae24fc121d72a892690b6db496dc
Type errataMimetype application/pdf

Search in DiVA

By author/editor
Esen, Zafer
By organisation
Computer SystemsDivision of Computer Systems
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar
Total: 103 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

isbn
urn-nbn

Altmetric score

isbn
urn-nbn
Total: 2467 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf