Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Dilian Gurov

dblp:47/1237 · DBLP profile ↗
← Back
48ranked-venue papers
10as first author
15since 2021 · last 2026
0000-0002-0074-8786ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 36 · 5 first-author · 10 since 2021Theory of computation · 11 · 3 first-author · 5 since 2021Artificial intelligence and machine learning · 3 · 1 first-author · 2 since 2021Security and privacy · 3 · 1 first-authorDatabases, data management, data science and information retrieval · 1 · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
4 papers
Program verification · 43% Program analysis · 20% Compilers and program optimization · 18%
Artificial intelligence
1 paper
Knowledge representation and reasoning · 67% Multi-agent systems · 33%
Theoretical computer science
1 paper
Automated reasoning and model checking · 100%

Topics — the 16 heaviest of 16, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program verification
deductive verification
0.712023
Automatic Program Instrumentation for Automatic Verification · CAV (3) 2023
Compilers and program optimization
program instrumentation
0.712023
Automatic Program Instrumentation for Automatic Verification · CAV (3) 2023
Program verification › model checking
software model checking
0.712023
Automatic Program Instrumentation for Automatic Verification · CAV (3) 2023
Requirements engineering and software design › formal specification
specification transformation
0.712023
Automatic Program Instrumentation for Automatic Verification · CAV (3) 2023
Program analysis
static analysis
0.712023
Automatic Program Instrumentation for Automatic Verification · CAV (3) 2023
Knowledge, reasoning and agents › Knowledge representation and reasoning
epistemic reasoning
0.612022
Knowledge-based strategies for multi-agent teams playing against Nature · Artif. Intell. 2022
Knowledge, reasoning and agents › Knowledge representation and reasoning › logic in computer science › logical foundations › non-classical logics › epistemic logic
higher-order knowledge
0.612022
Knowledge-based strategies for multi-agent teams playing against Nature · Artif. Intell. 2022
Knowledge, reasoning and agents › Multi-agent systems › game theory
multi-agent games
0.612022
Knowledge-based strategies for multi-agent teams playing against Nature · Artif. Intell. 2022
Automated reasoning and model checking › synthesis
strategy synthesis
0.612022
Knowledge-based strategies for multi-agent teams playing against Nature · Artif. Intell. 2022
Program verification
modular verification
0.112008
Compositional verification of sequential programs with procedures · Inf. Comput. 2008
Program analysis › dynamic analysis
runtime monitoring
0.112008
Provably Correct Runtime Monitoring · FM 2008
Program verification › dynamic verification
runtime verification
0.112008
Provably Correct Runtime Monitoring · FM 2008
Program verification › mechanized verification
semi-automated verification
0.012001
Semi-Automated Verification of Erlang Code · ASE 2001
Program verification
temporal logic verification
0.012001
Semi-Automated Verification of Erlang Code · ASE 2001
Programming languages and type systems
functional language
0.012001
Semi-Automated Verification of Erlang Code · ASE 2001
Concurrent programming
message passing
0.012001
Semi-Automated Verification of Erlang Code · ASE 2001

Methods — techniques the papers use, named apart from their topics

knowledge-based subset construction · 1.1software model checking · 0.7program instrumentation · 0.7deductive verification · 0.7proof system · 0.0goal-directed proof search · 0.0
YearPublicationVenuePosition
2026 A program instrumentation framework for automatic verification
abstract
Abstract 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.
Jesper Amilon, Zafer Esen, Dilian Gurov, Christian Lidström, Philipp Rümmer, Marten Voorberg
Formal Methods Syst. Des.3
2025 An Expressive Trace Logic for Recursive Programs
abstract
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.
Dilian Gurov, Reiner Hähnle
FSCD1
2025 Multi-perspective Correctness of Programs
Eduard Kamburjan, Dilian Gurov
ICTAC2
2025 Machine-Checked Compositional Specification and Proofs for Embedded Systems
Karl Palmskog, Mattias Nyberg, Dilian Gurov
TASE3
2024 Deductively Verified Program Models for Software Model Checking
Jesper Amilon, Dilian Gurov
ISoLA (3)2
2024 Post-Hoc Formal Verification of Automotive Software with Informal Requirements: An Experience Report
abstract
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.
Gustav Ung, Jesper Amilon, Dilian Gurov, Christian Lidström, Mattias Nyberg, Karl Palmskog
RE3
2023 Automatic Program Instrumentation for Automatic Verification
abstract
Abstract 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.
Jesper Amilon, Zafer Esen, Dilian Gurov, Christian Lidström, Philipp Rümmer
CAV (3)3
2023 Trace-based Deductive Verification
abstract
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 mod- ular 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.
Richard Bubel, Dilian Gurov, Reiner Hähnle, Marco Scaletta
LPAR2
2023 Contract Based Embedded Software Design
Christian Lidström, Dilian Gurov
TASE2
2022 TriCo - Triple Co-piloting of Implementation, Specification and Tests
Wolfgang Ahrendt, Dilian Gurov, Moa Johansson 0001, Philipp Rümmer
ISoLA (1)2
2022 Deductive Verification Based Abstraction for Software Model Checking
Jesper Amilon, Christian Lidström, Dilian Gurov
ISoLA (1)3
2022 Knowledge-based strategies for multi-agent teams playing against Nature
abstract
We study teams of agents that play against Nature towards achieving a common objective. The agents are assumed to have imperfect information due to partial observability, and have no communication during the play of the game. We propose a natural notion of higher-order knowledge of agents. Based on this notion, we define a class of knowledge-based strategies, and consider the problem of synthesis of strategies of this class. We introduce a multi-agent extension, MKBSC, of the well-known knowledge-based subset construction applied to such games. Its iterative applications turn out to compute higher-order knowledge of the agents. We show how the MKBSC can be used for the design of knowledge-based strategy profiles, and investigate the transfer of existence of such strategies between the original game and in the iterated applications of the MKBSC, under some natural assumptions. We also relate and compare the “intensional” view on knowledge-based strategies based on explicit knowledge representation and update, with the “extensional” view on finite memory strategies based on finite transducers and show that, in a certain sense, these are equivalent.
Dilian Gurov, Valentin Goranko, Edvin Lundberg
Artif. Intell.1
2021 Category Theory Framework for Variability Models with Non-functional Requirements
Daniel-Jesus Munoz, Dilian Gurov, Monica Pinto 0001, Lidia Fuentes
CAiSE2
2021 Dynamic Vulnerability Detection on Smart Contracts Using Machine Learning
abstract
In this work we propose Dynamit, a monitoring framework to detect reentrancy vulnerabilities in Ethereum smart contracts. The novelty of our framework is that it relies only on transaction metadata and balance data from the blockchain system; our approach requires no domain knowledge, code instrumentation, or special execution environment. Dynamit extracts features from transaction data and uses a machine learning model to classify transactions as benign or harmful. Therefore, not only can we find the contracts that are vulnerable to reentrancy attacks, but we also get an execution trace that reproduces the attack. Using a random forest classifier, our model achieved more than 90 percent accuracy on 105 transactions, showing the potential of our technique.
Mojtaba Eshghie, Cyrille Artho, Dilian Gurov
EASE3
2021 An Abstract Contract Theory for Programs with Procedures
abstract
Abstract When developing complex software and systems, contracts provide a means for controlling the complexity by dividing the responsibilities among the components of the system in a hierarchical fashion. In specific application areas, dedicated contract theories formalise the notion of contract and the operations on contracts in a manner that supports best the development of systems in that area. At the other end, contract meta-theories attempt to provide a systematic view on the various contract theories by axiomatising their desired properties. However, there exists a noticeable gap between the most well-known contract meta-theory of Benveniste et al. [5], which focuses on the design of embedded and cyber-physical systems, and the established way of using contracts when developing general software, following Meyer’s design-by-contract methodology [18]. At the core of this gap appears to be the notion of procedure: while it is a central unit of composition in software development, the meta-theory does not suggest an obvious way of treating procedures as components. In this paper, we provide a first step towards a contract theory that takes procedures as the basic building block, and is at the same time an instantiation of the meta-theory. To this end, we propose an abstract contract theory for sequential programming languages with procedures, based on denotational semantics. We show that, on the one hand, the specification of contracts of procedures in Hoare logic, and their procedure-modular verification, can be cast naturally in the framework of our abstract contract theory. On the other hand, we also show our contract theory to fulfil the axioms of the meta-theory. In this way, we give further evidence for the utility of the meta-theory, and prepare the ground for combining our instantiation with other, already existing instantiations.
Christian Lidström, Dilian Gurov
FASE2
2020 Who Carries the Burden of Modularity? - Introduction to ISoLA 2020 Track on Modularity and (De-)composition in Verification
Dilian Gurov, Reiner Hähnle, Eduard Kamburjan
ISoLA (1)1
2020 Automated Verification of Embedded Control Software - Track Introduction
Dilian Gurov, Paula Herber, Ina Schaefer
ISoLA (3)1
2020 Formally Proving Compositionality in Industrial Systems with Informal Specifications
Mattias Nyberg, Jonas Westman, Dilian Gurov
ISoLA (3)3
2020 Practical Abstractions for Automated Verification of Shared-Memory Concurrency
Wytse Oortwijn, Dilian Gurov, Marieke Huisman
VMCAI2
2018 Formal Methods in Industrial Practice - Bridging the Gap (Track Summary)
Michael Felderer, Dilian Gurov, Marieke Huisman, Björn Lisper, Rupert Schlick
ISoLA (4)2
2018 Formal Verification in Automotive Industry: Enablers and Obstacles
Mattias Nyberg, Dilian Gurov, Christian Lidström, Andreas Rasmusson, Jonas Westman
ISoLA (4)2
2018 Specification and verification of synchronization with condition variables
Pedro de Carvalho Gomes, Dilian Gurov, Marieke Huisman, Cyrille Artho
Sci. Comput. Program.2
2017 Formal architecture modeling of sequential non-recursive C programs
Jonas Westman, Mattias Nyberg, Joakim Gustavsson, Dilian Gurov
Sci. Comput. Program.4
2016 Static and Runtime Verification, Competitors or Friends? (Track Summary)
Dilian Gurov, Klaus Havelund, Marieke Huisman, Rosemary Monahan
ISoLA (1)1
2016 Algorithmic verification of procedural programs in the presence of code variability
Siavash Soleimanifard, Dilian Gurov
Sci. Comput. Program.2
2016 Provably correct control flow graphs from Java bytecode programs with exceptions
Afshin Amighi, Pedro de Carvalho Gomes, Dilian Gurov, Marieke Huisman
Int. J. Softw. Tools Technol. Transf.3
2015 Privacy preserving business process matching
abstract
Business process matching is the activity of checking whether a given business process can interoperate with another one in a correct manner. In case the check fails, it is desirable to obtain information about how the first process can be corrected with as few modifications as possible to achieve interoperability. In case the two business processes belong to two separate enterprises that want to build a virtual enterprise, business process matching based on revealing the business processes poses a clear threat to privacy, as it may expose sensitive information about the inner operation of the enterprises. In this paper we propose a solution to this problem for business processes described by means of service automata. We propose a measure for similarity between service automata and use this measure to devise an algorithm that constructs the most similar automaton to the first one that can interoperate with the second one. To achieve privacy, we implement this algorithm in the programming language SecreC, executing on the Sharemind platform for secure multiparty computation. As a result, only the correction information is leaked to the first enterprise and no more.
Dilian Gurov, Peeter Laud, Roberto Guanciale
PST1
2015 Procedure-modular specification and verification of temporal safety properties
Siavash Soleimanifard, Dilian Gurov, Marieke Huisman
Softw. Syst. Model.2
2014 Sound Control Flow Graph Extraction from Incomplete Java Bytecode Programs
Pedro de Carvalho Gomes, Attilio Picoco, Dilian Gurov
FASE3
2014 Private intersection of regular languages
abstract
This paper addresses the problem of computing the intersection of regular languages in a privacy-preserving fashion. Private set intersection has been addressed earlier in the literature, but for finite sets only. We discuss the various possibilities for solving the problem efficiently, and argue for an approach based on minimal deterministic finite automata (DFA) as a suitable, non-leaking representation of regular language intersection. We propose two different algorithms for DFA minimization in a secure multiparty computation setting, illustrating different aspects of programming based on universal composability and the constraints this sets on existing algorithms. The implementation of our algorithms is based on the programming language SECREC, executing on the SHAREMIND platform for secure multiparty computation. As one application domain we consider fusion of virtual enterprise business processes.
Roberto Guanciale, Dilian Gurov, Peeter Laud
PST2
2013 Reducing behavioural to structural properties of programs with procedures
Dilian Gurov, Marieke Huisman
Theor. Comput. Sci.1
2012 Sound Control-Flow Graph Extraction for Java Programs with Exceptions
Afshin Amighi, Pedro de Carvalho Gomes, Dilian Gurov, Marieke Huisman
SEFM3
2011 ProMoVer: Modular Verification of Temporal Safety Properties
Siavash Soleimanifard, Dilian Gurov, Marieke Huisman
SEFM2
2010 Procedure-modular verification of control flow safety properties
abstract
This paper describes a novel technique for fully automated procedure-modular verification of Java programs equipped with method-local and global assertions that specify safety properties of sequences of method invocations. Modularity of verification is achieved by relativizing the correctness of global properties on the local properties rather than on the implementations of methods, and is based on the construction of maximal models. Tool support is provided by means of ProMoVer, a tool that is essentially a wrapper around a previously developed tool set for compositional verification of control flow safety properties, where program data is abstracted away completely. We evaluate the technique on a small but realistic case study.
Siavash Soleimanifard, Dilian Gurov, Marieke Huisman
FTfJP@ECOOP2
2009 Reducing Behavioural to Structural Properties of Programs with Procedures
Dilian Gurov, Marieke Huisman
VMCAI1
2008 Provably Correct Runtime Monitoring
Irem Aktug, Mads Dam, Dilian Gurov
FM3
2008 Program Models for Compositional Verification
Marieke Huisman, Irem Aktug, Dilian Gurov
ICFEM3
2008 Compositional verification of sequential programs with procedures
Dilian Gurov, Marieke Huisman, Christoph Sprenger 0001
Inf. Comput.1
2005 Interface Abstraction for Compositional Verification
abstract
To support dynamic loading of applications on portable devices, one needs compositional reasoning techniques to ensure that newly loaded applications cannot break the overall security of a device. In earlier work, we developed an algorithmic verification technique for control flow based safety properties of smart card applications, which allows global system properties to be inferred from the properties of the components. Application of the technique requires knowledge of the names of all methods implemented by these components. In a truly compositional setting, however, one only knows the public interface of the new applet and does not have access to any implementation details. To compositionally verify interface properties of applets, one therefore has to combine our verification technique with an abstraction which preserves the interface behaviour and reduces the set of implemented methods to the set of public methods. In this paper, we develop such an abstraction technique: we formally define the notion of interface behaviour, and propose an inlining transformation which we prove to preserve the interface properties expressible in our specification language. In addition, we show on a concrete case study how the reduction in the number of methods resulting from the interface abstraction drastically improves the performance of the computationally most expensive step of the compositional verification technique.
Dilian Gurov, Marieke Huisman
SEFM1
2004 Checking Absence of Illicit Applet Interactions: A Case Study
Marieke Huisman, Dilian Gurov, Christoph Sprenger 0001, Gennady Chugunov
FASE2
2004 Compositional verification for secure loading of smart card applets
abstract
We present an algorithmic compositional verification method for smart card applets and control flow based safety properties expressed in a modal logic with simultaneous greatest fixed points. Our method builds on a technique proposed by Grumberg and Long who use maximal models to reduce compositional verification of finite-state parallel processes to standard model checking. We adapt this technique to applets, a class of infinite-state sequential processes. This requires a refinement of the method, since for a given applet interface and behavioural formula a maximal applet does not always exist. We therefore propose a two-level approach, where local assumptions restrict the control flow structure of applets, while the global guarantee restricts the control flow behaviour of the system. We present a novel maximal model construction for our logic and then adapt it to applets. By separating the tasks of verifying global and local properties our method supports secure post-issuance loading of applets onto a smart card.
Christoph Sprenger 0001, Dilian Gurov, Marieke Huisman
MEMOCODE2
2003 A verification tool for ERLANG
Lars-Åke Fredlund, Dilian Gurov, Thomas Noll 0001, Mads Dam, Thomas Arts, Gennady Chugunov
Int. J. Softw. Tools Technol. Transf.2
2002 Model Checking of Multi-Applet JavaCard Applications
Gennady Chugunov, Lars-Åke Fredlund, Dilian Gurov
CARDIS3
2002 Compositional Verification of Secure Applet Interactions
Gilles Barthe, Dilian Gurov, Marieke Huisman
FASE2
2002 µ-Calculus with Explicit Points and Approximations
abstract
We present a Gentzen‐style sequent calculus for program verification which accommodates both model checking‐like verification based on global state space exploration, and compositional reasoning. To handle the complexities arising from the presence of fixed‐point formulas, programs with dynamically evolving architecture, and cut rules we use transition assertions, and introduce fixed‐point approximants explicitly into the assertion language. We address, in a game‐based manner, the semantical basis of this approach, as it applies to the entailment subproblem. Soundness and completeness results are obtained, and examples are shown illustrating some of the concepts.
Mads Dam, Dilian Gurov
J. Log. Comput.2
2001 Semi-Automated Verification of Erlang Code
abstract
Erlang is a functional programming language with support for concurrency and message passing communication that is used at Ericsson for developing telecommunication applications. We consider the challenge of verifying temporal properties of systems programmed in Erlang with dynamically evolving process structures. To accomplish this, a rich verification framework for goal-directed, proof system-based verification is used. The paper investigates the problem of semi-automating the verification task by identifying the proof parameters crucial for successful proof search.
Lars-Åke Fredlund, Dilian Gurov, Thomas Noll 0001
ASE2
2001 The Erlang Verification Tool
Thomas Noll 0001, Lars-Åke Fredlund, Dilian Gurov
TACAS3
1998 System Description: Verification of Distributed Erlang Programs
Thomas Arts, Mads Dam, Lars-Åke Fredlund, Dilian Gurov
CADE4