kth.sePublications KTH
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
Link to record
Permanent link

Direct link
Publications (10 of 70) Show all publications
Amilon, J., Esen, Z., Gurov, D., Lidstrom, C., Rummer, P. & Voorberg, M. (2026). A program instrumentation framework for automatic verification. Formal methods in system design, 68(2), Article ID 7.
Open this publication in new window or tab >>A program instrumentation framework for automatic verification
Show others...
2026 (English)In: Formal methods in system design, ISSN 0925-9856, E-ISSN 1572-8102, Vol. 68, no 2, article id 7Article in journal (Refereed) Published
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 this equivalent program instead. In this article, we propose program 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, 2026
Keywords
Program instrumentation, Automatic verification, Ghost code
National Category
Computer Sciences
Identifiers
urn:nbn:se:kth:diva-381897 (URN)10.1007/s10703-026-00493-w (DOI)001719136900001 ()2-s2.0-105033406068 (Scopus ID)
Note

QC 20260525

Available from: 2026-05-25 Created: 2026-05-25 Last updated: 2026-05-25Bibliographically approved
Palmskog, K., Nyberg, M. & Gurov, D. (2026). Machine-Checked Compositional Specification and Proofs for Embedded Systems. In: Rummer, P Wu, Z (Ed.), Theoretical Aspects Of Software Engineering, TASE 2025: . Paper presented at 19th International Conference on Theoretical Aspects of Software Engineering-TASE-Annual, JUL 14-16, 2025, Limassol, CYPRUS (pp. 67-82). Springer Nature, 15841
Open this publication in new window or tab >>Machine-Checked Compositional Specification and Proofs for Embedded Systems
2026 (English)In: Theoretical Aspects Of Software Engineering, TASE 2025 / [ed] Rummer, P Wu, Z, Springer Nature , 2026, Vol. 15841, p. 67-82Conference paper, Published paper (Refereed)
Abstract [en]

The effort of formal verification of large heterogeneous systems needs to scale linearly with the number of interacting components, to be feasible in industrial practice. This is made possible by compositional specification methods and proof systems. In this paper, we demonstrate how trustworthy verified decomposition can be performed for an industry-relevant embedded system: a fuel level display. We first formalize the underlying theory in the HOL4 theorem prover, and augment this theory to allow specifications using Metric Interval Temporal Logic (MITL). We then state a top-level specification for our system using MITL and decompose it down to the system components. Our HOL4 formalization provides a corrected and extended restatement of a general specification language and proof system from previous work and showcases its usefulness for verified decomposition of systems.

Place, publisher, year, edition, pages
Springer Nature, 2026
Series
Lecture Notes in Computer Science, ISSN 0302-9743
Keywords
Compositional proof, formal verification, embedded systems, HOL4
National Category
Computer Sciences
Identifiers
urn:nbn:se:kth:diva-375583 (URN)10.1007/978-3-031-98208-8_5 (DOI)001584458800005 ()2-s2.0-105011357801 (Scopus ID)978-3-031-98207-1 (ISBN)978-3-031-98208-8 (ISBN)
Conference
19th International Conference on Theoretical Aspects of Software Engineering-TASE-Annual, JUL 14-16, 2025, Limassol, CYPRUS
Note

QC 20260121

Available from: 2026-01-21 Created: 2026-01-21 Last updated: 2026-01-26Bibliographically approved
Kamburjan, E. & Gurov, D. (2026). Multi-perspective Correctness of Programs. In: Theoretical Aspects of Computing – ICTAC 2025 - 22nd International Colloquium, Proceedings: . Paper presented at 22nd International Colloquium on Theoretical Aspects of Computing, ICTAC 2025, Marrakesh, Morocco, Nov 24 2025 - Nov 28 2025 (pp. 69-86). Springer Nature, 16237
Open this publication in new window or tab >>Multi-perspective Correctness of Programs
2026 (English)In: Theoretical Aspects of Computing – ICTAC 2025 - 22nd International Colloquium, Proceedings, Springer Nature , 2026, Vol. 16237, p. 69-86Conference paper, Published paper (Refereed)
Abstract [en]

Traditionally, programs are formally specified and verified with respect to their computational domain, disregarding the domain in which they are to be applied. This, however, is inadequate for programs that simulate processes in a specific application domain, or programs that generate data that must conform to external, domain-specific specifications. Such programs need also to be correct with respect to their application domain. This work presents a Hoare Logic that manages two different perspectives on a program during a correctness proof: the computational view and the domain view. This enables us to specify the correctness of a program in terms of the domain without referring to the computational details, but at the same time to interpret failed proof attempts in the domain. For domain specification, we illustrate the use of description logics and base our approach on semantic lifting, an approach to interpret a program as a knowledge graph. We present a calculus that uses translations between both kinds of assertions, thus separating the concerns in specification, but enabling the use of description logic in verification.

Place, publisher, year, edition, pages
Springer Nature, 2026
Series
Lecture Notes in Computer Science, ISSN 03029743
National Category
Computer Sciences Computer Systems Embedded Systems
Identifiers
urn:nbn:se:kth:diva-373947 (URN)10.1007/978-3-032-11176-0_6 (DOI)001722455300006 ()2-s2.0-105023476154 (Scopus ID)
Conference
22nd International Colloquium on Theoretical Aspects of Computing, ICTAC 2025, Marrakesh, Morocco, Nov 24 2025 - Nov 28 2025
Note

Part of ISBN 9783032111753

QC 20251212

Available from: 2025-12-12 Created: 2025-12-12 Last updated: 2026-05-29Bibliographically approved
Gurov, D. & Haehnle, R. (2025). An Expressive Trace Logic for Recursive Programs. In: Fernandez, M (Ed.), 10Th International Conference On Formal Structures For Computation And Deduction, Fscd 2025: . Paper presented at 10th Conference on Formal Structures for Computation and Deduction-FSCD, JUL 14-20, 2025, Birmingham, ENGLAND. SCHLOSS DAGSTUHL, LEIBNIZ CENTER INFORMATICS, 337, Article ID 21.
Open this publication in new window or tab >>An Expressive Trace Logic for Recursive Programs
2025 (English)In: 10Th International Conference On Formal Structures For Computation And Deduction, Fscd 2025 / [ed] Fernandez, M, SCHLOSS DAGSTUHL, LEIBNIZ CENTER INFORMATICS , 2025, Vol. 337, article id 21Conference paper, Published paper (Refereed)
Abstract [en]

We present an expressive logic over trace formulas, based on binary state predicates, chop, and least fixed points, for precise specification of programs with recursive procedures. Both programs and trace formulas are equipped with a direct-style, fully compositional, denotational semantics that on programs coincides with the standard SOS of recursive programs. We design a compositional proof calculus for proving finite-trace program properties, and prove soundness as well as (relative) completeness. We show that each program can be mapped to a semantics-preserving trace formula and, vice versa, each trace formula can be mapped to a canonical program over slightly extended programs, resulting in a Galois connection between programs and formulas. Our results shed light on the correspondence between programming constructs and logical connectives.

Place, publisher, year, edition, pages
SCHLOSS DAGSTUHL, LEIBNIZ CENTER INFORMATICS, 2025
Series
Leibniz International Proceedings in Informatics, ISSN 1868-8969
Keywords
Denotational semantics, compositional semantics, program specification, compositional verification, fixed point logic, trace logic
National Category
Computer Sciences
Identifiers
urn:nbn:se:kth:diva-376362 (URN)10.4230/LIPIcs.FSCD.2025.21 (DOI)001594385200021 ()2-s2.0-105010686900 (Scopus ID)978-3-95977-374-4 (ISBN)
Conference
10th Conference on Formal Structures for Computation and Deduction-FSCD, JUL 14-20, 2025, Birmingham, ENGLAND
Note

QC 20260209

Available from: 2026-02-09 Created: 2026-02-09 Last updated: 2026-02-09Bibliographically approved
Amilon, J. & Gurov, D. (2025). Deductively Verified Program Models for Software Model Checking. In: Leveraging Applications of Formal Methods, Verification and Validation. Specification and Verification - 12th International Symposium, ISoLA 2024, Proceedings: . Paper presented at 12th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation, ISoLA 2024, Crete, Greece, Oct 27 2024 - Oct 31 2024 (pp. 8-25). Springer Nature
Open this publication in new window or tab >>Deductively Verified Program Models for Software Model Checking
2025 (English)In: Leveraging Applications of Formal Methods, Verification and Validation. Specification and Verification - 12th International Symposium, ISoLA 2024, Proceedings, Springer Nature , 2025, p. 8-25Conference paper, Published paper (Refereed)
Abstract [en]

Model checking temporal properties of software is algorithmically hard. To be practically feasible, it usually requires the creation of simpler, abstract models of the software, over which the properties are checked. However, creating suitable abstractions is another difficult problem. We argue that such abstract models can be obtained with little effort, when the state transformation properties of the software components have already been deductively verified. As a concrete, language-independent representation of such abstractions we propose the use of flow graphs, a formalism previously developed for the purposes of compositional model checking. In this paper, we describe how we envisage the work flow and tool chain to support the proposed verification approach in the context of embedded, safety-critical software written in C.

Place, publisher, year, edition, pages
Springer Nature, 2025
Keywords
Deductive verification, Flow graphs, Model checking
National Category
Computer Sciences Software Engineering Computer Systems
Identifiers
urn:nbn:se:kth:diva-356656 (URN)10.1007/978-3-031-75380-0_2 (DOI)001419014500002 ()2-s2.0-85208586252 (Scopus ID)
Conference
12th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation, ISoLA 2024, Crete, Greece, Oct 27 2024 - Oct 31 2024
Note

QC 20241122

Part of ISBN 9783031753794

Available from: 2024-11-20 Created: 2024-11-20 Last updated: 2025-03-17Bibliographically approved
Amilon, J., Esen, Z., Gurov, D., Lidström, C. & Rümmer, P. (2024). An Exercise in Mind Reading: Automatic Contract Inference for Frama-C. In: Guide to Software Verification with Frama-C: Core Components, Usages, and Applications: . Springer Nature
Open this publication in new window or tab >>An Exercise in Mind Reading: Automatic Contract Inference for Frama-C
Show others...
2024 (English)In: Guide to Software Verification with Frama-C: Core Components, Usages, and Applications, Springer Nature, 2024Chapter in book (Other academic)
Place, publisher, year, edition, pages
Springer Nature, 2024
National Category
Computer Sciences
Identifiers
urn:nbn:se:kth:diva-343806 (URN)
Note

QC 20240226

Available from: 2024-02-23 Created: 2024-02-23 Last updated: 2024-02-26Bibliographically approved
Ung, G., Amilon, J., Gurov, D., Lidström, C., Nyberg, M. & Palmskog, K. (2024). Post-Hoc Formal Verification of Automotive Software with Informal Requirements: An Experience Report. In: Proceedings - 32nd IEEE International Requirements Engineering Conference, RE 2024: . Paper presented at 32nd IEEE International Requirements Engineering Conference, RE 2024, Reykjavik, Iceland, Jun 24 2024 - Jun 28 2024 (pp. 287-298). Institute of Electrical and Electronics Engineers (IEEE)
Open this publication in new window or tab >>Post-Hoc Formal Verification of Automotive Software with Informal Requirements: An Experience Report
Show others...
2024 (English)In: Proceedings - 32nd IEEE International Requirements Engineering Conference, RE 2024, Institute of Electrical and Electronics Engineers (IEEE) , 2024, p. 287-298Conference paper, Published paper (Refereed)
Abstract [en]

In this paper, we report on our experience with formally specifying and verifying an industrial software module, provided to us by a company from the heavy-vehicle industry. We start with a set of 32 informally stated requirements, also provided by the company. We discuss at length the formalization process of informally stated requirements for the purposes of their subsequent formal verification. Depending on the nature of each requirement, one of three languages was used: ACSL contracts, LTL or MITL. We use the Frama-C deductive verification framework to verify the source code of the module against the formalized requirements, with the outcome that 21 requirements are successfully verified while 6 are not. The remaining 5 requirements could not be verified for the module itself, as they specify behavior outside it. We illustrate what steps we took to convert LTL and MITL formulas into ACSL contracts to enable their verification in Frama-C. Finally, we discuss conclusions we drew from our work, notably that formal-verification-driven development of modules and verified breakdown of system requirements could likely remedy some problems we encountered.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers (IEEE), 2024
Keywords
formal verification, Industrial requirements, requirements formalization
National Category
Software Engineering Computer Sciences
Identifiers
urn:nbn:se:kth:diva-353526 (URN)10.1109/RE59067.2024.00035 (DOI)001300544600027 ()2-s2.0-85202716903 (Scopus ID)
Conference
32nd IEEE International Requirements Engineering Conference, RE 2024, Reykjavik, Iceland, Jun 24 2024 - Jun 28 2024
Note

Part of ISBN 9798350395112

QC 20240924

Available from: 2024-09-19 Created: 2024-09-19 Last updated: 2024-10-30Bibliographically approved
Amilon, J., Esen, Z., Gurov, D., Lidström, C. & Rümmer, P. (2023). Automatic Program Instrumentation for Automatic Verification. In: Computer Aided Verification: 35th International Conference, CAV 2023, Proceedings. Paper presented at 35th International Conference on Computer Aided Verification, CAV 2023, July 17-22, 2023, Paris, France (pp. 281-304). Springer Nature
Open this publication in new window or tab >>Automatic Program Instrumentation for Automatic Verification
Show others...
2023 (English)In: Computer Aided Verification: 35th International Conference, CAV 2023, Proceedings, Springer Nature , 2023, 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
National Category
Computer Sciences
Identifiers
urn:nbn:se:kth:diva-336732 (URN)10.1007/978-3-031-37709-9_14 (DOI)001310805600014 ()2-s2.0-85169431034 (Scopus ID)
Conference
35th International Conference on Computer Aided Verification, CAV 2023, July 17-22, 2023, Paris, France
Note

Part of ISBN 9783031377082

QC 20241023

Available from: 2023-09-19 Created: 2023-09-19 Last updated: 2024-10-23Bibliographically approved
Lidström, C. & Gurov, D. (2023). Contract Based Embedded Software Design. In: Theoretical Aspects of Software Engineering - 17th International Symposium, TASE 2023, Proceedings: . Paper presented at 17th International Symposium on Theoretical Aspects of Software Engineering, TASE 2023, Bristol, United Kingdom of Great Britain and Northern Ireland, July 4-6, 2023 (pp. 77-94). Springer Nature
Open this publication in new window or tab >>Contract Based Embedded Software Design
2023 (English)In: Theoretical Aspects of Software Engineering - 17th International Symposium, TASE 2023, Proceedings, Springer Nature , 2023, p. 77-94Conference paper, Published paper (Refereed)
Abstract [en]

In embedded systems development, contract based design is a design paradigm where a system is divided hierarchically into components and developed in a top-down manner, using contracts as a means to divide responsibilities and manage the complexity of the system. Contract theories provide a formal basis for reasoning about the properties of the system, and of the contracts themselves. In previous work, we have developed a contract theory for sequential, procedural programs, that is defined abstractly, at the semantic level. The theory fulfils well-established, desired properties of system design. In this paper, we present a methodology for applying the contract theory in real embedded software design. We show how to instantiate the contract theory with concrete syntaxes for defining components and contracts, and how the contract theory enables formal reasoning about the resulting objects. In order to cope with the need for different behavioural models at different levels of abstraction in an embedded system, we extend the contract theory through parametrisation on the semantic domain. We illustrate the application of the proposed methodology on a small, but realistic example, where the temporal logic TLA is used for reasoning at the system level, while lower level components are specified using pre- and post-conditions in the form of ACSL, a specification language for C.

Place, publisher, year, edition, pages
Springer Nature, 2023
National Category
Computer Sciences Embedded Systems
Identifiers
urn:nbn:se:kth:diva-334440 (URN)10.1007/978-3-031-35257-7_5 (DOI)001330380200005 ()2-s2.0-85164908794 (Scopus ID)
Conference
17th International Symposium on Theoretical Aspects of Software Engineering, TASE 2023, Bristol, United Kingdom of Great Britain and Northern Ireland, July 4-6, 2023
Note

Part of ISBN 9783031352560

QC 20241203

Available from: 2023-08-21 Created: 2023-08-21 Last updated: 2024-12-03Bibliographically approved
Bubel, R., Gurov, D., Hahnle, R. & Scaletta, M. (2023). Trace-based Deductive Verification. In: Proceedings of 24th International Conference on Logic for Programming, Artificial Intelligence and Reasoning: . Paper presented at 24th International Conference on Logic for Programming, Artificial Intelligence and Reasoning, LPAR 2023, Manizales, Colombia, Jun 4 2023 - Jun 9 2023 (pp. 73-95). EasyChair, 94
Open this publication in new window or tab >>Trace-based Deductive Verification
2023 (English)In: Proceedings of 24th International Conference on Logic for Programming, Artificial Intelligence and Reasoning, EasyChair , 2023, Vol. 94, p. 73-95Conference paper, Published paper (Refereed)
Abstract [en]

Contracts specifying a procedure’s behavior in terms of pre- and postconditions are essential for scalable software verification, but cannot express any constraints on the events occurring during execution of the procedure. This necessitates to annotate code with intermediate assertions, preventing full specification abstraction. We propose a logic over symbolic traces able to specify recursive procedures in a modular manner that refers to specified programs only in terms of events. We also provide a deduction system based on symbolic execution and induction that we prove to be sound relative to a trace semantics. Our work generalizes contract-based to trace-based deductive verification by extending the notion of state-based contracts to trace-based contracts.

Place, publisher, year, edition, pages
EasyChair, 2023
Keywords
contract-based reasoning, deductive verification, mu-calculus, symbolic execution, trace contracts
National Category
Computer Sciences
Identifiers
urn:nbn:se:kth:diva-335068 (URN)10.29007/vdfd (DOI)2-s2.0-85166468981 (Scopus ID)
Conference
24th International Conference on Logic for Programming, Artificial Intelligence and Reasoning, LPAR 2023, Manizales, Colombia, Jun 4 2023 - Jun 9 2023
Note

QC 20230831

Available from: 2023-08-31 Created: 2023-08-31 Last updated: 2023-08-31Bibliographically approved
Organisations
Identifiers
ORCID iD: ORCID iD iconorcid.org/0000-0002-0074-8786

Search in DiVA

Show all publications