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

Dragan Bosnacki

dblp:38/2132 · DBLP profile ↗
← Back
27ranked-venue papers
13as first author
0since 2021 · last 2019
—ORCID · none

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

Software engineering, systems software and programming languages · 24 · 12 first-authorTheory of computation · 5 · 2 first-authorComputer networks · 2 · 2 first-authorSystems, architecture and hardware · 1

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 · 76% Concurrent programming · 24%
Theoretical computer science
4 papers
Graph algorithms and graph theory · 51% Automated reasoning and model checking · 28% Logic in computer science · 12%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
GPUs and heterogeneous computing · 100%

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

TopicWeightPapersLastEvidence papers
Concurrent programming › concurrency correctness
deadlock freedom
0.312018
Modular Termination Verification of Single-Threaded and Multithreaded Programs · ACM Trans. Program. Lang. Syst. 2018
Program verification
modular verification
0.312018
Modular Termination Verification of Single-Threaded and Multithreaded Programs · ACM Trans. Program. Lang. Syst. 2018
Program verification › program logic
separation logic
0.312018
Modular Termination Verification of Single-Threaded and Multithreaded Programs · ACM Trans. Program. Lang. Syst. 2018
Program verification
termination analysis
0.312018
Modular Termination Verification of Single-Threaded and Multithreaded Programs · ACM Trans. Program. Lang. Syst. 2018
Automated reasoning and model checking › model checking
explicit-state model checking
0.212016
GPUexplore 2.0: Unleashing GPU Explicit-State Model Checking · FM 2016
Graph algorithms and graph theory
graph decomposition
0.212014
GPU-Based Graph Decomposition into Strongly Connected and Maximal End Components · CAV 2014
Graph algorithms and graph theory › graph algorithms › connectivity
strongly connected components
0.212014
GPU-Based Graph Decomposition into Strongly Connected and Maximal End Components · CAV 2014
GPUs and heterogeneous computing
GPU computing
0.122016
GPUexplore 2.0: Unleashing GPU Explicit-State Model Checking · FM 2016
GPU-Based Graph Decomposition into Strongly Connected and Maximal End Components · CAV 2014
Program verification
model checking
0.122007
The Design of a Multicore Extension of the SPIN Model Checker · IEEE Trans. Software Eng. 2007
Enhancing Partial-Order Reduction via Process Clustering · ASE 2001
Distributed computing theory › concurrent systems
commutativity
0.112007
On Commutativity Based Edge Lean Search · ICALP 2007
Graph algorithms and graph theory › graph algorithms
graph search
0.112007
On Commutativity Based Edge Lean Search · ICALP 2007
Logic in computer science
modal logic
0.112005
On Some Galois Connection Based Abstractions for the Mu-Calculus · FM 2005
Logic in computer science › modal logic › multi-modal logic
modal mu-calculus
0.112005
On Some Galois Connection Based Abstractions for the Mu-Calculus · FM 2005
Concurrent programming
concurrency verification
0.012001
Enhancing Partial-Order Reduction via Process Clustering · ASE 2001
Program verification › model checking
partial order reduction
0.012001
Enhancing Partial-Order Reduction via Process Clustering · ASE 2001
Program verification › model checking
state space reduction
0.012001
Enhancing Partial-Order Reduction via Process Clustering · ASE 2001

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

GPU acceleration · 0.5GPU-based graph algorithms · 0.4separation logic · 0.3call permissions · 0.3abstract predicate families · 0.3galois connection · 0.1abstraction interpretation · 0.1partial order reduction · 0.1hash-compact compression · 0.1commutativity analysis · 0.1bitstate hashing · 0.1process clustering · 0.0
YearPublicationVenuePosition
2019 Dependency safety for Java - Implementing and testing failboxes
Dan Zhang 0002, Dragan Bosnacki, Mark van den Brand, Cornelis Huizing, Bart Jacobs 0002, Ruurd Kuiper 0001, Anton Wijs
Sci. Comput. Program.2
2018 Model checking: recent improvements and applications
abstract
Model checking (Baier and Katoen in Principles of model checking, MIT Press, Cambridge, 2008; Clarke et al. in Model checking, MIT Press, Cambridge, 2001) is an automatic technique to formally verify that a given specification of a concurrent system meets given functional properties. Its use has been demonstrated many times over the years. Key characteristics that make the method so appealing are its level of automaticity, its ability to determine the absence of errors in the system (contrary to testing techniques) and the fact that it produces counter-examples when errors are detected, that clearly demonstrate not only that an error is present, but also how the error can be produced. The main drawback of model checking is its limited scalability, and for this reason, research on reducing the computational effort has received much attention over the last decades. Besides the verification of qualitative functional properties, the model checking technique can also be applied for other types of analyses, such as planning and the verification of quantitative properties. We briefly discuss several contributions in the model checking field that address both its scalability and its applicability to perform planning and quantitative analysis. In particular, we introduce six papers selected from the 23rd International SPIN Symposium on Model Checking Software (SPIN 2016).
Dragan Bosnacki, Anton Wijs
Int. J. Softw. Tools Technol. Transf.1
2018 Modular Termination Verification of Single-Threaded and Multithreaded Programs
abstract
We propose an approach for the modular specification and verification of total correctness properties of object-oriented programs. The core of our approach is a specification style that prescribes a way to assign a level expression to each method such that each callee’s level is below the caller’s, even in the presence of dynamic binding. The specification style yields specifications that properly hide implementation details. The main idea is to use multisets of method names as levels, and to associate with each object levels that abstractly reflect the way the object is built from other objects. A method’s level is then defined in terms of the method’s own name and the levels associated with the objects passed as arguments. We first present the specification style in the context of programs that do not modify object fields. We then combine it with separation logic and abstract predicate families to obtain an approach for programs with heap mutation. In a third step, we address concurrency, by incorporating an existing approach for verifying deadlock freedom of channels and locks. Our main contribution here is to achieve information hiding by using the proposed termination levels for lock ordering as well. Also, we introduce call permissions to enable elegant verification of termination of programs where threads cause work in other threads, such as in thread pools or fine-grained concurrent algorithms involving compare-and-swap loops. We explain how our approach can be used also to verify the liveness of nonterminating programs.
Bart Jacobs 0002, Dragan Bosnacki, Ruurd Kuiper 0001
ACM Trans. Program. Lang. Syst.2
2016 Partial-Order Reduction for GPU Model Checking
Thomas Neele, Anton Wijs, Dragan Bosnacki, Jaco van de Pol
ATVA3
2016 GPUexplore 2.0: Unleashing GPU Explicit-State Model Checking
Anton Wijs, Thomas Neele, Dragan Bosnacki
FM3
2016 Verification of Atomicity Preservation in Model-to-Code Transformations using Generic Java Code
abstract
A challenging aspect of model-to-code transformations is to ensure that the semantic behavior of the input model is preserved in the output code. When constructing concurrent systems, this is mainly difficult due to the non-deterministic potential interaction between threads. In this paper, we consider this issue for a framework that implements a transformation chain from models expressed in the state machine based domain specific language SLCO to Java. In particular, we provide a fine-grained generic solution to preserve atomicity of SLCO statements in the Java implementation. We give its generic specification based on separation logic and verify it using the verification tool VeriFast. The solution can be regarded as a reusable module to safely implement atomic operations in concurrent systems.
Dan Zhang 0002, Dragan Bosnacki, Mark van den Brand, Cornelis Huizing, Ruurd Kuiper 0001, Bart Jacobs 0002, Anton Wijs
MODELSWARD2
2016 Efficient GPU algorithms for parallel decomposition of graphs into strongly connected and maximal end components
abstract
This article presents parallel algorithms for component decomposition of graph structures on general purpose graphics processing units (GPUs). In particular, we consider the problem of decomposing sparse graphs into strongly connected components, and decomposing graphs induced by stochastic games (such as Markov decision processes) into maximal end components. These problems are key ingredients of many (probabilistic) model-checking algorithms. We explain the main rationales behind our GPU-algorithms, and show a significant speed-up over the sequential (as well as existing parallel) counterparts in several case studies.
Anton Wijs, Joost-Pieter Katoen, Dragan Bosnacki
Formal Methods Syst. Des.3
2016 Special section on Graph Inspection and Traversal Engineering (GRAPHITE 2014)
Dragan Bosnacki, Stefan Edelkamp, Alberto Lluch-Lafuente, Anton Wijs
Sci. Comput. Program.1
2016 Many-core on-the-fly model checking of safety properties using GPUs
abstract
Model checking is an automatic method to formally verify the correctness of a system specification. Such model checking specifications can be viewed as implicit descriptions of a large directed graph or state space, which, for most model checking operations, needs to be analysed. However, construction or on-the-fly exploration of the state space is computationally intensive and often can be prohibitive in practical applications. In this work, we present techniques to perform graph generation and exploration using general purpose graphics processors (GPUs). GPUs have been successfully applied in multiple application domains to drastically speed up computations. We explain the limitations involved when trying to achieve efficient state space exploration with GPUs and present solutions how to overcome these. We discuss the possible approaches involving related work and propose an alternative, using a new hash table approach for GPUs. As input, we consider models that can be represented by a fixed number of communicating finite-state Labelled Transition Systems. This means that we assume that all variables used in a model range over finite data domains. Additionally, we show how our exploration technique can be extended to detect deadlocks and check safety properties on-the-fly. Experimental evaluations with our prototype implementations show significant speed-ups compared to the established sequential counterparts.
Anton Wijs, Dragan Bosnacki
Int. J. Softw. Tools Technol. Transf.2
2015 Modular Termination Verification
abstract
We propose an approach for the modular specification and verification of total correctness properties of object-oriented programs. We start from an existing program logic for partial correctness based on separation logic and abstract predicate families. We extend it with call permissions qualified by an arbitrary ordinal number, and we define a specification style that properly hides implementation details, based on the ideas of using methods and bags of methods as ordinals, and exposing the bag of methods reachable from an object as an abstract predicate argument. These enable each method to abstractly request permission to call all methods reachable by it any finite number of times, and to delegate similar permissions to its callees. We illustrate the approach with several examples.
Bart Jacobs 0002, Dragan Bosnacki, Ruurd Kuiper 0001
ECOOP2
2014 GPU-Based Graph Decomposition into Strongly Connected and Maximal End Components
Anton Wijs, Joost-Pieter Katoen, Dragan Bosnacki
CAV3
2014 GPUexplore: Many-Core On-the-Fly State Space Exploration Using GPUs
Anton Wijs, Dragan Bosnacki
TACAS2
2011 Parallel probabilistic model checking on general purpose graphics processors
Dragan Bosnacki, Stefan Edelkamp, Damian Sulewski, Anton Wijs
Int. J. Softw. Tools Technol. Transf.1
2010 Model checking software: on some new waves and some evergreens
Dragan Bosnacki, Stefan Edelkamp
Int. J. Softw. Tools Technol. Transf.1
2009 Behavioural Analysis of an I2C Linux Driver
Dragan Bosnacki, Aad Mathijssen, Yaroslav S. Usenko
FMICS1
2009 Partial-order reduction for general state exploring algorithms
Dragan Bosnacki, Stefan Leue, Alberto Lluch-Lafuente
Int. J. Softw. Tools Technol. Transf.1
2007 Efficient Approximate Verification of Promela Models Via Symmetry Markers
Dragan Bosnacki, Alastair F. Donaldson, Michael Leuschel, Thierry Massart
ATVA1
2007 On Commutativity Based Edge Lean Search
Dragan Bosnacki, Edith Elkind, Blaise Genest, Doron A. Peled
ICALP1
2007 Multi-Core Model Checking with SPIN
abstract
We present the first experimental results on the implementation of a multi-core model checking algorithm for the SPIN model checker. These algorithms specifically target shared-memory systems, and are initially restricted to dual-core systems. The extensions we have made require only small changes in the SPIN source code, and preserve virtually all existing verification modes and optimization techniques supported by SPIN, including the verification of both safety and liveness properties and the verification of SPIN models with embedded C code fragments.
Gerard J. Holzmann, Dragan Bosnacki
IPDPS2
2007 The Design of a Multicore Extension of the SPIN Model Checker
abstract
We describe an extension of the SPIN model checker for use on multicore shared-memory systems and report on its performance. We show how, with proper load balancing, the time requirements of a verification run can, in some cases, be reduced close to N-fold when N processing cores are used. We also analyze the types of verification problems for which multicore algorithms cannot provide relief. The extensions discussed here require only relatively small changes in the SPIN source code and are compatible with most existing verification modes such as partial order reduction, the verification of temporal logic formulas, bitstate hashing, and hash-compact compression.
Gerard J. Holzmann, Dragan Bosnacki
IEEE Trans. Software Eng.2
2005 On Some Galois Connection Based Abstractions for the Mu-Calculus
Dragan Bosnacki
FM1
2004 Cluster-Based Partial-Order Reduction
Twan Basten, Dragan Bosnacki, Marc Geilen
Autom. Softw. Eng.2
2002 A Nested Depth First Search Algorithm for Model Checking with Symmetry Reduction
Dragan Bosnacki
FORTE1
2002 Symmetric Spin
Dragan Bosnacki, Dennis Dams, Leszek Holenderski
Int. J. Softw. Tools Technol. Transf.1
2001 Enhancing Partial-Order Reduction via Process Clustering
abstract
Partial-order reduction is a well-known technique to cope with the state-space-explosion problem in the verification of concurrent systems. Using the hierarchical structure of concurrent systems, we present an enhancement of the partial-order-reduction scheme of G.J. Holzman and D. Peled (1995) and D. Peled (1994). A prototype of the new algorithm has been implemented on top of the verification tool SPIN. The first experimental results are encouraging.
Twan Basten, Dragan Bosnacki
ASE2
2000 Model Checking SDL with Spin
Dragan Bosnacki, Dennis Dams, Leszek Holenderski, Natalia Sidorova
TACAS1
1998 Integrating Real Time into Spin: A Prototype Implementation
Dragan Bosnacki, Dennis Dams
FORTE1