Thorsten Tarrach

dblp:77/10475 · DBLP profile ↗
← Back
12ranked-venue papers
1as first author
1since 2021 · last 2023
0000-0003-4409-8487ORCID · corroborated

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

Software engineering, systems software and programming languages · 9Theory of computation · 6Systems, architecture and hardware · 1Security and privacy · 1 · 1 first-author · 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
Concurrent programming · 28% Program synthesis and code generation · 22% Operating systems · 14%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Embedded and real-time systems · 100%

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

TopicWeightPapersLastEvidence papers
Program synthesis and code generation
concurrent program synthesis
0.422014
Regression-Free Synthesis for Concurrency · CAV 2014
Efficient Synthesis for Concurrency by Semantics-Preserving Transformations · CAV 2013
Concurrent programming
concurrency bugs
0.212015
Succinct Representation of Concurrent Trace Sets · POPL 2015
Operating systems › resource management › process management › CPU scheduling
preemptive scheduling
0.212015
From Non-preemptive to Preemptive Scheduling Using Synchronization Synthesis · CAV (2) 2015
Concurrent programming › synchronization
synchronization synthesis
0.212015
From Non-preemptive to Preemptive Scheduling Using Synchronization Synthesis · CAV (2) 2015
Embedded and real-time systems
real-time scheduling
0.212015
From Non-preemptive to Preemptive Scheduling Using Synchronization Synthesis · CAV (2) 2015
Debugging and program repair › automated program repair
concurrency bug fixing
0.212014
Regression-Free Synthesis for Concurrency · CAV 2014
Compilers and program optimization › program transformation
semantics-preserving transformation
0.212013
Efficient Synthesis for Concurrency by Semantics-Preserving Transformations · CAV 2013

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

program synthesis · 0.6iterative interleaving exploration · 0.2generalization of counterexamples · 0.2program transformation · 0.2
YearPublicationVenuePosition
2023 Attribute Repair for Threat Prevention
Thorsten Tarrach, Masoud Ebrahimi 0002, Sandra König, Christoph Schmittner, Roderick Bloem, Dejan Nickovic
SAFECOMP1
2020 Language Inclusion for Finite Prime Event Structures
Andreas Fellner, Thorsten Tarrach, Georg Weissenbacher
VMCAI2
2019 Behaviour-Driven Formal Model Development of the ETCS Hybrid Level 3
abstract
Behaviour driven formal model development (BDFMD) enables domain engineers to influence and validate mathematically precise and verified specifications. In previous work we proposed a process where manually authored scenarios are used initially to support the requirements and help the modeller. The same scenarios are used to verify behavioural properties of the model. The model is then mutated to automatically generate scenarios that have a more complete coverage than the manual ones. These automatically generated scenarios are used to animate the model in a final acceptance stage. In this paper, we discuss lessons learned from applying this BDFMD process to a real-life specification: The European Train Control Systems (ETCS) Hybrid Level 3. During the case study, we have developed our understanding of the process, modifying the way we do some stages and developing improved tool support to make the process more efficient. We discuss (1) the need for abstract scenarios during incremental model development and verification, (2) tools and techniques developed to make the running of scenarios more efficient, and (3) improvements to tools that generate new test cases to improve coverage.
Michael J. Butler, Dana Dghaym, Thai Son Hoang, Tope Omitola, Colin F. Snook, Andreas Fellner, Rupert Schlick, Thorsten Tarrach, Tomas Fischer, Peter Tummeltshammer
ICECCS8
2019 Towards Detecting Trigger-Based Behavior in Binaries: Uncovering the Correct Environment
Dorottya Papp, Thorsten Tarrach, Levente Buttyán
SEFM2
2019 Model-based, Mutation-driven Test-case Generation Via Heuristic-guided Branching Search
abstract
This work introduces a heuristic-guided branching search algorithm for model-based, mutation-driven test-case generation. The algorithm is designed towards the efficient and computationally tractable exploration of discrete, non-deterministic models with huge state spaces. Asynchronous parallel processing is a key feature of the algorithm. The algorithm is inspired by the successful path planning algorithm Rapidly exploring Random Trees (RRT). We adapt RRT in several aspects towards test-case generation. Most notably, we introduce parametrized heuristics for start and successor state selection, as well as a mechanism to construct test cases from the data produced during the search. We implemented our algorithm in the existing test-case generation framework MoMuT. We present an extensive evaluation of the proposed heuristics and parameters of the algorithm, based on a diverse set of demanding models obtained in an industrial context. In total, we continuously utilized 128 CPU cores on three servers for several weeks to gather the experimental data presented. We show that branching search works well and the use of multiple heuristics is justified. With our new algorithm, we are now able to process models consisting of over 2,300 concurrent objects. To our knowledge, there is no other mutation-driven test-case generation tool that is able to process models of this magnitude.
Andreas Fellner, Willibald Krenn, Rupert Schlick, Thorsten Tarrach, Georg Weissenbacher
ACM Trans. Embed. Comput. Syst.4
2017 Model-based, mutation-driven test case generation via heuristic-guided branching search
abstract
This work introduces a heuristic-guided branching search algorithm for model-based, mutation-driven test case generation. The algorithm is designed towards the efficient and computationally tractable exploration of discrete, non-deterministic models with huge state spaces. Asynchronous parallel processing is a key feature of the algorithm. The algorithm is inspired by the successful path planning algorithm Rapidly exploring Random Trees (RRT). We adapt RRT in several aspects towards test case generation. Most notably, we introduce parametrized heuristics for start and successor state selection, as well as a mechanism to construct test cases from the data produced during search.
Andreas Fellner, Willibald Krenn, Rupert Schlick, Thorsten Tarrach, Georg Weissenbacher
MEMOCODE4
2017 From non-preemptive to preemptive scheduling using synchronization synthesis
abstract
We present a computer-aided programming approach to concurrency. The approach allows programmers to program assuming a friendly, non-preemptive scheduler, and our synthesis procedure inserts synchronization to ensure that the final program works even with a preemptive scheduler. The correctness specification is implicit, inferred from the non-preemptive behavior. Let us consider sequences of calls that the program makes to an external interface. The specification requires that any such sequence produced under a preemptive scheduler should be included in the set of sequences produced under a non-preemptive scheduler. We guarantee that our synthesis does not introduce deadlocks and that the synchronization inserted is optimal w.r.t. a given objective function. The solution is based on a finitary abstraction, an algorithm for bounded language inclusion modulo an independence relation, and generation of a set of global constraints over synchronization placements. Each model of the global constraints set corresponds to a correctness-ensuring synchronization placement. The placement that is optimal w.r.t. the given objective function is chosen as the synchronization solution. We apply the approach to device-driver programming, where the driver threads call the software interface of the device and the API provided by the operating system. Our experiments demonstrate that our synthesis method is precise and efficient. The implicit specification helped us find one concurrency bug previously missed when model-checking using an explicit, user-provided specification. We implemented objective functions for coarse-grained and fine-grained locking and observed that different synchronization placements are produced for our experiments, favoring a minimal number of synchronization operations or maximum concurrency, respectively.
Pavol Cerný, Edmund M. Clarke, Thomas A. Henzinger, Arjun Radhakrishna, Leonid Ryzhyk, Roopsha Samanta, Thorsten Tarrach
Formal Methods Syst. Des.7
2015 From Non-preemptive to Preemptive Scheduling Using Synchronization Synthesis
Pavol Cerný, Edmund M. Clarke, Thomas A. Henzinger, Arjun Radhakrishna, Leonid Ryzhyk, Roopsha Samanta, Thorsten Tarrach
CAV (2)7
2015 Succinct Representation of Concurrent Trace Sets
abstract
We present a method and a tool for generating succinct representations of sets of concurrent traces. We focus on trace sets that contain all correct or all incorrect permutations of events from a given trace. We represent trace sets as HB-Formulas that are Boolean combinations of happens-before constraints between events. To generate a representation of incorrect interleavings, our method iteratively explores interleavings that violate the specification and gathers generalizations of the discovered interleavings into an HB-Formula; its complement yields a representation of correct interleavings.
Ashutosh Gupta 0001, Thomas A. Henzinger, Arjun Radhakrishna, Roopsha Samanta, Thorsten Tarrach
POPL5
2014 Regression-Free Synthesis for Concurrency
Pavol Cerný, Thomas A. Henzinger, Arjun Radhakrishna, Leonid Ryzhyk, Thorsten Tarrach
CAV5
2013 Efficient Synthesis for Concurrency by Semantics-Preserving Transformations
Pavol Cerný, Thomas A. Henzinger, Arjun Radhakrishna, Leonid Ryzhyk, Thorsten Tarrach
CAV5
2011 Automatically Verifying Typing Constraints for a Data Processing Language
Michael Backes 0001, Catalin Hritcu, Thorsten Tarrach
CPP3