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
Proof-Producing Symbolic Execution for P4
KTH, School of Electrical Engineering and Computer Science (EECS), Computer Science, Theoretical Computer Science, TCS. Saab AB, Nettovägen 6, 175 41, Järfälla, Sweden.ORCID iD: 0000-0001-9921-3257
KTH, School of Electrical Engineering and Computer Science (EECS), Computer Science, Theoretical Computer Science, TCS. KTH, School of Electrical Engineering and Computer Science (EECS), Centres, Digital futures.ORCID iD: 0000-0002-8069-6495
KTH, School of Electrical Engineering and Computer Science (EECS), Computer Science, Theoretical Computer Science, TCS.ORCID iD: 0000-0001-5432-6442
2025 (English)In: Verified Software. Theories, Tools and Experiments - 16th International Conference, VSTTE 2024, Revised Selected Papers, Springer Nature , 2025, p. 70-83Conference paper, Published paper (Refereed)
Abstract [en]

We introduce a proof-producing symbolic execution tool for formal verification of P4 programs. The tool has been implemented using the interactive theorem prover HOL4 and results are proved sound with respect to the HOL4P4 formalisation of the P4 language. Most notably, this is a general tool for proving functional correctness that can be applied to entire real-world P4 programs.

Place, publisher, year, edition, pages
Springer Nature , 2025. p. 70-83
Keywords [en]
Domain-Specific Languages, Formal Verification, Theorem Proving
National Category
Computer Sciences Computer Systems Embedded Systems
Identifiers
URN: urn:nbn:se:kth:diva-363992DOI: 10.1007/978-3-031-86695-1_5ISI: 001541342700005Scopus ID: 2-s2.0-105005252570OAI: oai:DiVA.org:kth-363992DiVA, id: diva2:1962828
Conference
16th International Conference on Verified Software: Theories, Tools, and Experiments, VSTTE 2024, Prague, Czechia, October 14-15, 2024
Note

Part of ISBN 9783031866944

QC 20251021

Available from: 2025-06-02 Created: 2025-06-02 Last updated: 2025-11-12Bibliographically approved
In thesis
1. Formal Verification of Software-Defined Network Elements and Machine Code
Open this publication in new window or tab >>Formal Verification of Software-Defined Network Elements and Machine Code
2025 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

Software, programmability and connectivity are increasingly pervasive aspects of society. In the span of a lifetime, everything from vehicles to phones has evolved from fixed-function to generally programmable devices that are always online. As a result, their functionality is entirely determined by their software, which may change from update to update and depending on what applications you have installed. The software itself is increasingly written by outsourced consultants or even by AI, with vulnerabilities appearing and being fixed on a daily basis.

Where does one even begin to secure modern digital equipment? The highest levels of assurance certification demand formal verification - mathematical proofs that rule out vulnerabilities based on models of hardware or programming-language semantics. This is costly and time-consuming, and so is applied mainly to small, critical components. The way to gain scalability is to base your assurance statements on highly automated verification tools whose correctness depends only on minimal, auditable trusted code bases.

The work in this thesis is focused on the creation of formal verification tools in the domains of machine code and networking. The common denominator is the use of an interactive theorem prover to gain assurance of the results. Specifically, the thesis presents (i) methods to decompose verification tasks for unstructured programs, especially as applied to machine code, and (ii) a formal model of the P4 domain-specific networking language, accompanied by (iii) a proof-producing symbolic execution tool and finally (iv) a complete toolchain to verifiably compile a verified P4 program down to a software switch.

Abstract [sv]

Mjukvara, programmerbarhet och uppkoppling genomsyrar i allt högre grad samhället. Under loppet av en livstid har allt från fordon till telefoner utvecklats från enheter med fast funktion till programmerbara enheter som alltid är uppkopplade. Som följd av detta bestäms deras funktionalitet helt av deras mjukvara, vilken kan förändras med uppdateringar och installering av applikationer. Mjukvaran i sig skrivs i allt högre grad av utkontrakterade konsulter eller till och med av AI, med sårbarheter som dyker upp och åtgärdas dagligen.

Hur kan man ens påbörja att säkra modern digital utrustning? De högsta nivåerna av säkerhetscertifiering kräver formell verifiering - matematiska bevis som utesluter sårbarheter baserat på modeller av hårdvara eller semantik för programmeringsspråk. Detta är kostsamt och tidskrävande, och tillämpas därför främst på små, kritiska komponenter. Vägen till skalbarhet går genom att basera sina assuransutlåtanden på högautomatiserade verifieringsverktyg vars korrekthet endast beror på minimala, granskningsbara betrodda kodbaser.

Arbetet i denna avhandling fokuserar på skapandet av formella verifieringsverktyg inom domänerna maskinkod och nätverk. Den gemensamma nämnaren är användningen av en interaktiv teorembevisare för att säkerställa resultatens tillförlitlighet. Specifikt presenterar avhandlingen (i) metoder för att dela upp verifieringsuppgifter för ostrukturerade program, särskilt tillämpat på maskinkod, och (ii) en formell modell av det domänspecifika språket P4 för nätverk, tillsammans med (iii) ett bevisproducerande exekveringsverktyg och slutligen (iv) en komplett verktygskedja för att verifierbart kompilera ett verifierat P4-program ner till en mjukvaruswitch.

Place, publisher, year, edition, pages
Stockholm: KTH Royal Institute of Technology, 2025. p. xix, 66
Series
TRITA-EECS-AVL ; 2025:103
Keywords
Formal verification, interactive theorem proving, HOL4, P4, binary analysis, semantics, program logic, symbolic execution, Formell verifiering, interaktiv teorembevisning, HOL4, P4, binäranalys, semantik, programlogik, symbolisk exekvering
National Category
Formal Methods
Research subject
Computer Science
Identifiers
urn:nbn:se:kth:diva-372675 (URN)978-91-8106-459-9 (ISBN)
Public defence
2025-12-08, https://kth-se.zoom.us/j/61627100868, Kollegiesalen, Brinellvägen 8, Stockholm, 13:00 (English)
Opponent
Supervisors
Funder
Swedish Foundation for Strategic ResearchVinnova, 2023-03003
Available from: 2025-11-13 Created: 2025-11-12 Last updated: 2025-11-24Bibliographically approved

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full textScopus

Authority records

Lundberg, DidrikGuanciale, RobertoDam, Mads

Search in DiVA

By author/editor
Lundberg, DidrikGuanciale, RobertoDam, Mads
By organisation
Theoretical Computer Science, TCSDigital futures
Computer SciencesComputer SystemsEmbedded Systems

Search outside of DiVA

GoogleGoogle Scholar

doi
urn-nbn

Altmetric score

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