kth.sePublications KTH
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
Hoare-style logic for unstructured programs
KTH, School of Electrical Engineering and Computer Science (EECS), Theoretical Computer Science. Saab AB, Nettovägen 6, S-17541 Järfälla, Sweden.ORCID iD: 0000-0001-9921-3257
KTH, School of Electrical Engineering and Computer Science (EECS), Theoretical Computer Science.ORCID iD: 0000-0002-8069-6495
KTH, School of Electrical Engineering and Computer Science (EECS), Theoretical Computer Science.ORCID iD: 0000-0001-5311-1781
KTH, School of Electrical Engineering and Computer Science (EECS), Theoretical Computer Science.ORCID iD: 0000-0001-5432-6442
2026 (English)In: The Journal of logical and algebraic methods in programming, ISSN 2352-2208, E-ISSN 2352-2216, Vol. 149, article id 101099Article in journal (Refereed) Published
Abstract [en]

Enabling Hoare-style reasoning for low-level code is attractive since it opens the way to regain structure and modularity in a domain where structure is essentially absent. The field, however, has not yet arrived at a fully satisfactory solution, in the sense of avoiding restrictions on control flow (important for compiler optimization), controlling access to intermediate program points (important for modularity), and supporting total correctness. Proposals in the literature support some of these properties, but a solution that meets them all is yet to be found. We introduce the novel Hoare-style program logic GA, which interprets postconditions relative to program points when these are first encountered. The logic supports both partial and total correctness, derives contracts for arbitrary control flow, and allows one to freely choose decomposition strategy during verification while avoiding step-indexed approximations and global invariants. The logic can be instantiated for a variety of concrete instruction set architectures and intermediate languages. The rules of GA have been verified in the interactive theorem prover HOL4 and integrated with the toolbox HolBA for semi-automated program verification, which supports the ARMv6, ARMv8 and RISC-V instruction sets.

Place, publisher, year, edition, pages
Elsevier BV , 2026. Vol. 149, article id 101099
Keywords [en]
Program logics, Formal verification, Theorem proving, Binary analysis, Hoare logic
National Category
Computer Sciences
Identifiers
URN: urn:nbn:se:kth:diva-377433DOI: 10.1016/j.jlamp.2025.101099ISI: 001630542400001Scopus ID: 2-s2.0-105023082257OAI: oai:DiVA.org:kth-377433DiVA, id: diva2:2042277
Note

QC 20260227

Available from: 2026-02-27 Created: 2026-02-27 Last updated: 2026-02-27Bibliographically approved

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full textScopus

Authority records

Lundberg, DidrikGuanciale, RobertoLindner, AndreasDam, Mads

Search in DiVA

By author/editor
Lundberg, DidrikGuanciale, RobertoLindner, AndreasDam, Mads
By organisation
Theoretical Computer Science
In the same journal
The Journal of logical and algebraic methods in programming
Computer Sciences

Search outside of DiVA

GoogleGoogle Scholar

doi
urn-nbn

Altmetric score

doi
urn-nbn
Total: 34 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