Daniel Thoma

dblp:08/7448 · DBLP profile ↗
← Back
20ranked-venue papers
0as first author
3since 2021 · last 2024
0000-0002-1764-7447ORCID · corroborated

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

Software engineering, systems software and programming languages · 16 · 3 since 2021Theory of computation · 3Systems, architecture and hardware · 2 · 1 since 2021
YearPublicationVenuePosition
2024 Adding State to Stream Runtime Verification
Manuel Caldeira, Hannes Kallwies, Martin Leucker, Daniel Thoma
RV4
2022 Aggregate Update Problem for Multi-clocked Dataflow Languages
abstract
Dataflow languages have, as well as functional languages, immutable semantics, which is often implemented by copying values. A common compiler optimization known from functional languages involves analyzing which data structures can be modified in-place instead of copying them. This paper presents a novel algorithm to this so called Aggregate Update Problem for multi-clocked dataflow languages, i.e. those that allow streams to have events at disjoint timestamps, like e.g. Lucid, Lustre and Signal. Unrestricted multi-clocked languages require a static triggering analysis on how events and hence data values are read, written and replicated. We use TeSSLa as a generic stream transformation language with a small set of operators to develop our ideas. We implemented the solution in a TeSSLa compiler targeting the Java VM via Scala code generation which combines persistent data structures and mutable data structures for those data values which allow in-place editing. Our empirical evaluation shows considerable speedup for use cases where queues, maps or sets are dominant data structures.
Hannes Kallwies, Martin Leucker, Torben Scheffel, Malte Schmitz 0001, Daniel Thoma
CGO5
2022 TeSSLa - An Ecosystem for Runtime Verification
abstract
Abstract Runtime verification deals with checking correctness properties on the runs of a system under scrutiny. To achieve this, it addresses a variety of sub-problems related to monitoring of systems: These range from the appropriate design of a specification language over efficient monitor generation as hardware and software monitors to solutions for instrumenting the monitored system, preferably in a non-intrusive way. Further aspects play a role for the usability of a runtime verification toolchain, e.g. availability, sufficient documentation and the existence of a developer community. In this paper we present the TeSSLa ecosystem, a runtime verification framework built around the stream runtime verification language TeSSLa: It provides a rich toolchain of mostly freely available compilers for monitor generation on different hardware and software backends, as well as instrumentation mechanisms for various runtime verification requirements. Additionally, we highlight how the online resources and supporting tools of the community-driven project enable the productive usage of stream runtime verification.
Hannes Kallwies, Martin Leucker, Malte Schmitz 0001, Albert Schulz, Daniel Thoma, Alexander Weiss
RV5
2019 Runtime Verification for Timed Event Streams with Partial Information
abstract
Runtime Verification (RV) studies how to analyze execution traces of a system under observation. Stream Runtime Verification (SRV) applies stream transformations to obtain information from observed traces. Incomplete traces with information missing in gaps pose a common challenge when applying RV and SRV techniques to real-world systems as RV approaches typically require the complete trace without missing parts. This paper presents a solution to perform SRV on incomplete traces based on abstraction. We use TeSSLa as specification language for non-synchronized timed event streams and define abstract event streams representing the set of all possible traces that could have occurred during gaps in the input trace. We show how to translate a TeSSLa specification to its abstract counterpart that can propagate gaps through the transformation of the input streams and thus generate sound outputs even if the input streams contain gaps and events with imprecise values. The solution has been implemented as a set of macros for the original TeSSLa and an empirical evaluation shows the feasibility of the approach.
Martin Leucker, César Sánchez 0001, Torben Scheffel, Malte Schmitz 0001, Daniel Thoma
RV5
2019 Non-Intrusive MC/DC Measurement Based on Traces
abstract
We present a novel, non-intrusive approach to MC/DC coverage measurement using modern processor-based tracing facilities. Our approach does not require recompilation or instrumentation of the software under test. Instead, we use the Intel Processor Trace (Intel PT) facility present on modern Intel CPUs. Our tooling consists of the following parts: a frontend that detects so-called decisions (Boolean expressions) that are used in conditionals in C source code, a mapping from conditional jumps in the object code back to those decisions, and an analysis that computes satisfaction of the MC/DC coverage relation on those decisions from an execution trace. This analysis takes as input a stream of instruction addresses decoded from Intel PT trace data, which was recorded while running the software under test. We describe our architecture and discuss limitations and future work.
Faustin Ahishakiye, Svetlana Jaksic, Felix D. Lange, Malte Schmitz 0001, Volker Stolz, Daniel Thoma
TASE6
2019 First international Competition on Runtime Verification: rules, benchmarks, tools, and final results of CRV 2014
abstract
The first international Competition on Runtime Verification (CRV) was held in September 2014, in Toronto, Canada, as a satellite event of the 14th international conference on Runtime Verification (RV’14). The event was organized in three tracks: (1) offline monitoring, (2) online monitoring of C programs, and (3) online monitoring of Java programs. In this paper, we report on the phases and rules, a description of the participating teams and their submitted benchmark, the (full) results, as well as the lessons learned from the competition.
Ezio Bartocci, Yliès Falcone, Borzoo Bonakdarpour, Christian Colombo 0001, Normann Decker, Klaus Havelund, Yogi Joshi, Felix Klaedtke, Reed Milewicz, Giles Reger, Grigore Rosu, Julien Signoles, Daniel Thoma, Eugen Zalinescu
Int. J. Softw. Tools Technol. Transf.13
2018 Hardware-Based Runtime Verification with Embedded Tracing Units and Stream Processing
abstract
In this tutorial, we present a comprehensive approach to non-intrusive monitoring of multi-core processors. Modern multi-core processors come with trace-ports that provide a highly compressed trace of the instructions executed by the processor. We describe how these compressed traces can be used to reconstruct the actual control flow trace executed by the program running on the processor and to carry out analyses on the control flow trace in real time using FPGAs. We further give an introduction to the temporal stream-based specification language TeSSLa and show how it can be used to specify typical constraints of a cyber-physical system from the railway domain. Finally, we describe how light-weight, hardware-supported instrumentation can be used to enrich the control-flow trace with data values from the application. These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
Lukas Convent, Sebastian Hungerecker, Torben Scheffel, Malte Schmitz 0001, Daniel Thoma, Alexander Weiss
RV5
2017 Model-Checking Counting Temporal Logics on Flat Structures
abstract
We study several extensions of linear-time and computation-tree temporal logics with quantifiers that allow for counting how often certain properties hold. For most of these extensions, the model-checking problem is undecidable, but we show that decidability can be recovered by considering flat Kripke structures where each state belongs to at most one simple loop. Most decision procedures are based on results on (flat) counter systems where counters are used to implement the evaluation of counting operators.
Normann Decker, Peter Habermehl, Martin Leucker, Arnaud Sangnier, Daniel Thoma
CONCUR5
2017 Monitoring as a service for networked medical cyber-physical systems
abstract
This paper presents monitoring as a service for networked medical cyber-physical systems in the operating room based on the recent IEEE 11073 standards for interoperable medical device communication. Runtime Verification techniques are used to allow for a formal specification and verification. Based on the specification so called monitors are automatically synthesized. At runtime, the monitors observe the communication of the interconnected systems and examine whether they adhere to the specification. This facilitates the handling of the high safety requirements of medical cyber-physical systems and to increase their reliability. In addition, we outline the development and deployment process of the monitors and depict how the framework can be extended to react when misbehavior is detected. As a case study the interconnection of an ultrasound dissector and a microscope is used. Our benchmarks show that the monitoring overhead is substantially lower than what is required for our practical application.
Franziska Kühn, Daniel Thoma, Dennis Labitzke, Stefan Fischer 0001
IECON2
2016 On Freeze LTL with Ordered Attributes
Normann Decker, Daniel Thoma
FoSSaCS2
2016 Runtime Monitoring with Union-Find Structures
Normann Decker, Jannis Harder 0001, Torben Scheffel, Malte Schmitz 0001, Daniel Thoma
TACAS5
2016 Monitoring modulo theories
Normann Decker, Martin Leucker, Daniel Thoma
Int. J. Softw. Tools Technol. Transf.3
2015 Second International Competition on Runtime Verification CRV 2015
Yliès Falcone, Dejan Nickovic, Giles Reger, Daniel Thoma
RV4
2014 Learning Transparent Data Automata
Normann Decker, Peter Habermehl, Martin Leucker, Daniel Thoma
Petri Nets4
2014 Ordered Navigation on Multi-attributed Data Words
Normann Decker, Peter Habermehl, Martin Leucker, Daniel Thoma
CONCUR4
2014 Runtime Verification of Web Services for Interconnected Medical Devices
abstract
This paper presents a framework to ensure the correctness of service-oriented architectures based on runtime verification techniques. Traditionally, the reliability of safety critical systems is ensured by testing the complete system including all subsystems. When those systems are designed as service-oriented architectures, and independently developed subsystems are composed to new systems at runtime, this approach is no longer viable. Instead, the presented framework uses runtime monitors synthesised from high-level specifications to ensure safety constraints. The framework has been designed for the interconnection of medical devices in the operating room. As a case study, the framework is applied to the interconnection of an ultrasound dissector and a microscope. Benchmarks show that the monitoring overhead is negligible in this setting.
Normann Decker, Franziska Kühn, Daniel Thoma
ISSRE3
2014 Monitoring Modulo Theories
Normann Decker, Martin Leucker, Daniel Thoma
TACAS3
2013 Impartiality and Anticipation for Monitoring of Visibly Context-Free Properties
Normann Decker, Martin Leucker, Daniel Thoma
RV3
2012 A Formal Approach to Software Product Families
Martin Leucker, Daniel Thoma
ISoLA (1)2
2009 Don't Know for Multi-valued Systems
Alarico Campetelli, Alexander Gruler, Martin Leucker, Daniel Thoma
ATVA4