Papers by Dragan Bošnački

Verifying Atomicity Preservation and Deadlock Freedom of a Generic Shared Variable Mechanism Used in Model-To-Code Transformations
A challenging aspect of model-to-code transformations is to ensure that the semantic behavior of ... more 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 mechanism 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. Moreover, we also prove with VeriFast that our mechanism does not introduce deadlocks. The specification formally ensures that the locks are not reentrant which simplifies the formal treat...

HIFUtk: Visual Analytics for High Intensity Focused Ultrasound Simulation
Magnetic Resonance-guided High Intensity Focused Ultrasound (MR-HIFU) is a novel and non-invasive... more Magnetic Resonance-guided High Intensity Focused Ultrasound (MR-HIFU) is a novel and non-invasive therapeutic method. It can be used to locally increase the temperature in a target position in the human body. HIFU procedures are helpful for the treatment of soft tissue tumors and bone metastases. In vivo research with HIFU systems poses several challenges, therefore, a flexible and fast computer model for HIFU propagation and tissue heating is crucial. We introduce HIFUtk, a visual analytics environment to define, perform, and visualize HIFU simulations. We illustrate the use of HIFUtk by applying HIFU to a rabbit bone model, focusing on two common research questions related to HIFU. The first question concerns the relation between the ablated region shape and the focal point position, and the second one concerns the effect of shear waves on the temperature distribution in bone. These use cases demonstrate that HIFUtk provides a flexible visual analytics environment to investigate t...

Deep Learning with Convolutional Neural Networks for Histopathology Image Analysis
In the recent years, deep learning based methods and, in particular, convolutional neural network... more In the recent years, deep learning based methods and, in particular, convolutional neural networks, have been dominating the arena of medical image analysis. This has been made possible both with the advent of new parallel hardware and the development of efficient algorithms. It is expected that future advances in both of these directions will increase this domination. The application of deep learning methods to medical image analysis has been shown to significantly improve the accuracy and efficiency of the diagnoses. In this chapter, we focus on applications of deep learning in microscopy image analysis and digital pathology, in particular. We provide an overview of the state-of-the-art methods in this area and exemplify some of the main techniques. Finally, we discuss some open challenges and avenues for future work.

Scientific Reports
Convolutional neural networks (CNNs) excel as powerful tools for biomedical image classification.... more Convolutional neural networks (CNNs) excel as powerful tools for biomedical image classification. It is commonly assumed that training CNNs requires large amounts of annotated data. This is a bottleneck in many medical applications where annotation relies on expert knowledge. Here, we analyze the binary classification performance of a CNN on two independent cytomorphology datasets as a function of training set size. Specifically, we train a sequential model to discriminate non-malignant leukocytes from blast cells, whose appearance in the peripheral blood is a hallmark of leukemia. We systematically vary training set size, finding that tens of training images suffice for a binary classification with an ROC-AUC over 90%. Saliency maps and layer-wise relevance propagation visualizations suggest that the network learns to increasingly focus on nuclear structures of leukocytes as the number of training images is increased. A low dimensional tSNE representation reveals that while the two...

International Journal on Software Tools for Technology Transfer
Model checking (Baier and Katoen in Principles of model checking, MIT Press, Cambridge, 2008; Cla... more 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 counterexamples 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).

Proceedings of the 13th International Conference on Principles and Practices of Programming on the Java Platform: Virtual Machines, Languages, and Tools, 2016
Exception mechanisms help to ensure that a program satisfies the important robustness criterion o... more Exception mechanisms help to ensure that a program satisfies the important robustness criterion of dependency safety: if an operation fails, no code that depends on the operation's successful completion is executed anymore nor will wait for the completion. However, the exception handling mechanisms available in languages like Java do not provide a structured way to achieve dependency safety. The language extension failbox provides dependency safety for Java in a compositional manner. So far, there only exists an implementation of failbox in Scala. It requires the assumption of absence of asynchronous exceptions inside the failbox code. In this paper, we are the first to provide an implementation without the above mentioned assumption, this time in Java. First, we present and discuss a direct reimplementation of failbox in Java that is still restricted. Then, we show that using uncaught exception handlers the earlier assumption can be essentially weakened to only concern code before setting the thread handler. Finally, we provide an implementation using the Java native interface that completely removes the assumption.

Formal Methods in System Design, 2016
DOI to the publisher's website. • The final author version and the galley proof are versions of t... more DOI to the publisher's website. • The final author version and the galley proof are versions of the publication after peer review. • The final published version features the final layout of the paper including the volume, issue and page numbers. Link to publication General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal. If the publication is distributed under the terms of Article 25fa of the Dutch Copyright Act, indicated by the "Taverne" license above, please follow below link for the End User Agreement:

Towards Modular Verification of Threaded Concurrent Executable Code Generated from DSL Models
Formal Aspects of Component Software, 2016
An important problem in Model Driven Engineering is maintaining the correctness of a specificatio... more An important problem in Model Driven Engineering is maintaining the correctness of a specification under model transformations. We consider this issue for a framework that implements the transformation chain from the modeling language SLCO to Java. In particular, we verify the generic part of the last transformation step to Java code, involving change in granularity, focusing on the implementation of SLCO communication channels. To this end we use a parameterized modular approach; we apply a novel proof schema that supports fine grained concurrency and procedure-modularity, and use the separation logic based tool VeriFast. Our results show that such tool-assisted formal verification can be a viable addition to traditional techniques, supporting object orientation, concurrency via threads, and parameterized verification.

Journal of Economic Psychology, 2001
Jan-Friso Groote and Antti Valmari also kindly accepted to be members of the defense committee, f... more Jan-Friso Groote and Antti Valmari also kindly accepted to be members of the defense committee, for which I honor them. Many thanks to Tijn Borghuis and Tim Willemse for their helpful remarks on parts of the manuscript and their friendship. I am grateful to Peter Hilbers for believing in my potentials as a researcher and his understanding during the finishing of the last chapter of the thesis. Rob Gerth and Bart Knaack drew my attention to Spin, for which I would like to thank them. Rob also played a significant role in my decision to come to Eindhoven. Many people from the University helped indirectly with my thesis, for which I give them my warmest thanks: Suzana Andova for her moral support, constructive criticism and helping me not to forget the taste of the Macedonian cuisine; Marcella de Rooij, Victor Bos, Georgi Jojgov and Martijn Oostdijk for being with me during my ups and downs and letting me winning couple of Risk games; Sjouke Mauw for his friendship, valuable advises and always supportive smile;

The influence of the muscle architecture on the energy balance of skeletal muscle cells
Calcium is known to play a prominent regulatory role in skeletal muscle cells and is amongst othe... more Calcium is known to play a prominent regulatory role in skeletal muscle cells and is amongst others concerned with the activation of contraction and energy production by mitochondria. The latter is either directly or indirectly via elevated concentrations of ATP hydrolysis products [1]. In skeletal muscle cells the ATP turnover rate may increase by as much as 100 fold associated with maximally a 15 kJ/mole drop in ATP free energy. [1] The primary interest of our research is to investigate the regulation of the energy balance by calcium in relation to the three dimensional skeletal architecture. This muscle architecture is known to differ with muscle cell type, differ within different species and able to adapt to the environment. The most striking difference in skeletal muscle cell architecture is the difference between mammals and amphibians. The ryanodine receptors are located at the A-band I-band junction in all mammalian muscle cells, while in frog they are located in the z-disc region. Other important differences taken into account are the amount of serca pumps at the SR and the number of ryanodine receptors at the terminal cisternae.To explore the effects of the different architectures in skeletal muscle cells a model has been developed, based on the model and calcium measurements on frog skeletal muscle cells from Baylor et al., 1998. [2] The model focuses on the diffusion of calcium through one myofibril, with calcium influx by a ryanodine receptor, calcium outflux by serca pumps and multiple calcium buffers in the cytoplasm, including troponin C at the actin filaments. The diffusion of calcium and the mobile calcium buffers is modeled using a finite element method. The local calcium concentrations throughout the myofibril are dependent on the positions and densities of the different organelles. The majority of calcium measurements are on a whole cell scale and cannot be applied to measure local calcium concentrations. To compare the model solution with literature calcium data, a spatial average calcium signal is determined from the model. Repositioning of the ryanodine receptors from the z-disc region to the A-I-band junction, results in broader spatial average calcium signals with decreased peak amplitude. Literature data of frog and mouse skeletal muscle cells suggest spatial average calcium signals with similar peak amplitudes.[2], [3] The calcium influx of the mammalian myofibril model at the A-I-band junction has been corrected resulting in spatial averaged calcium signals with peak amplitude comparable with the frog skeletal muscle model. Local calcium concentrations in the area of the mitochondria are effected, resulting in higher calcium concentration in mammalian skeletal muscle cells in this area. From these computations, we conclude that mammalian skeletal muscle cell mitochondria are perhaps more regulated by calcium, than in frog muscle.REFERENCES[1] R.A. Meyer and J.M. Foley, Cellular processes integrating the metabolic response to exercise. Handbook of Physiology. Exercise: Regulation and Integration of Multiple Systems. Bethesda, Am. Physiol. Soc, 1996, sect. 12, chapter 18, p. 841-870.[2] S.M. Baylor and S.Hollingworth, Model of sarcomeric Ca2+ movements, including ATP Ca2+ binding and diffusion, during activation of frog skeletal muscle. J Gen Physiol 112:297-316, 1998.[3] S.M. Baylor and S. Hollingworth, Sarcoplasmic reticulum calcium release compared in slow-twitch fibres of mouse skeletal muscle. J Physiol 551:125-138, 2003.
Behavioural Analysis of an I
Model Checking of Software, 9th International SPIN Workshop, Grenoble, France, April 11-13, 2002, Proceedings
Proceedings of the 13th International SPIN Workshop on Model Checking Software (SPIN’06)
Electronic Notes in Theoretical Computer Science, 2007
We present a biological case study of codon bias with the probabilistic model checker PRISM with ... more We present a biological case study of codon bias with the probabilistic model checker PRISM with which we perform a quantitative analysis of expression speeds of genes. The variability in this setting concerns the matching of codons and anticodons. We distinguish between iso-acceptance (one codon matches exactly one anticodon) and wobble matching (multiple codons are matched by one anticodon).
Electronic Proceedings in Theoretical Computer Science, 2012
Inspired by RNA-editing as occurs in transcriptional processes in the living cell, we introduce a... more Inspired by RNA-editing as occurs in transcriptional processes in the living cell, we introduce an abstract notion of string adjustment, called guided rewriting. This formalism allows simultaneously inserting and deleting elements. We prove that guided rewriting preserves regularity: for every regular language its closure under guided rewriting is regular too. This contrasts an earlier abstraction of RNA-editing separating insertion and deletion for which it was proved that regularity is not preserved. The particular automaton construction here relies on an auxiliary notion of slice sequence which enables to sweep from left to right through a completed rewrite sequence.
Lecture Notes in Computer Science, 1999
Lecture Notes in Computer Science, 2014
This paper presents parallel algorithms for component decomposition of graph structures on Genera... more This paper 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 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 counterparts in several case studies.

Tools and Algorithms for the Construction and Analysis of Systems, 2014
In recent years, General Purpose Graphics Processors (GPUs) have been successfully applied in mul... more In recent years, General Purpose Graphics Processors (GPUs) have been successfully applied in multiple application domains to drastically speed up computations. Model checking is an automatic method to formally verify the correctness of a system specification. Such specifications can be viewed as implicit descriptions of a large directed graph or state space, and for most model checking operations, this graph must be analysed. Constructing it, or on-the-fly exploring it, however, is computationally intensive, so it makes sense to try to implement this for GPUs. In this paper, we explain the limitations involved, and how to overcome these. We discuss the possible approaches involving related work, and propose an alternative, using a new hash table approach for GPUs. Experimental results with our prototype implementations show significant speed-ups compared to the established sequential counterparts.

International Journal on Software Tools for Technology Transfer, 2015
Model checking is an automatic method to formally verify the correctness of a system specificatio... more 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
Uploads
Papers by Dragan Bošnački