Logo: to the web site of Uppsala University

uu.sePublications from Uppsala University
System disruptions
There are recurring service disruptions on some of the search portals due to high traffic. We are working to resolve the issue, you may temporarily encounter an error message.
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association
  • 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
Finding Universally Quantified Heap Invariants by Horn Clause Transformations
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
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-2733-7098
Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Computing Science. Uppsala University, Disciplinary Domain of Science and Technology, Mathematics and Computer Science, Department of Information Technology, Division of Computer Systems.ORCID iD: 0000-0001-8967-6987
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)
Abstract [en]

A common approach in software verification is to encode a program as a set of Constrained Horn Clauses (CHCs), which are then processed and solved automatically by a CHC solver. To streamline this verification approach for the case of programs operating on mutable linked data-structures, we have in earlier work proposed a theory of heaps, defined within the SMT-LIB framework, which enables us to represent programs as CHCs with minimal loss of structural information. By preserving high-level program information in the encoding, the theory of heaps enables CHC solvers to apply various internal techniques for handling program heap; among others, to encode the heap further using the theory of arrays, to apply shape analysis, or to translate to a heap-less program with the help of invariants. This paper explores the third option, developing transformation rules that rewrite a set of CHCs into an equisatisfiable set of CHCs with additional predicates representing heap invariants. The proposed method generalises the notion of space invariants, which were previously introduced for verifying Java programs, by lifting the entire transformation process to the CHC level. The paper defines the transformation rules, provides detailed correctness proofs, and discusses the strengths and limitations of the approach. We also outline possible extensions of the method.

Place, publisher, year, edition, pages
Springer, 2025. p. 42-60
National Category
Computer Sciences
Research subject
Computer Science
Identifiers
URN: urn:nbn:se:uu:diva-554454DOI: 10.1007/978-3-031-87054-5_4ISI: 001525057300004Scopus ID: 2-s2.0-105001355372ISBN: 978-3-031-87053-8 (print)ISBN: 978-3-031-87054-5 (electronic)OAI: oai:DiVA.org:uu-554454DiVA, id: diva2:1951744
Conference
FSEN 2025 - Fundamentals of Software Engineering, Västerås, Sweden, April 7-8, 2025
Available from: 2025-04-13 Created: 2025-04-13 Last updated: 2025-09-26Bibliographically approved
In thesis
1. Transformations for Verifying Programs with Heap-Allocated Data Structures
Open this publication in new window or tab >>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
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:nbn:se:uu:diva-554456 (URN)978-91-513-2484-5 (ISBN)
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

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full textScopus

Authority records

Esen, ZaferRümmer, PhilippWeber, Tjark

Search in DiVA

By author/editor
Esen, ZaferRümmer, PhilippWeber, Tjark
By organisation
Computer SystemsDivision of Computer SystemsComputing Science
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar

doi
isbn
urn-nbn

Altmetric score

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

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association
  • 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