Research Interests

During and since my PhD my main research focus has been on Model-based Diagnosis (MBD) — a subfield of Artificial Intelligence. The goal of MBD is to determine the root cause if some unexpected observed behaviour within a system occurs. However, I am also interested in Usability as well as Software Engineer research. Below you can find some information on selected projects and topics I have worked on within these fields.
You can find a list of my publications in my CV.

Model-Based Diagnosis and Artificial Intelligence

AMOR (Applied Model-based Reasoning)

Funding sources/ programmes: Österreichische Forschungsförderungsgesellschaft mbH (FFG) , FFG (Österreich)

The project deals with providing a methodology and a framework for diagnosis in the industrial domain. This includes the objective to further provide support for bringing model-based diagnosis into daily industrial practice. Diagnosis as a process comprises the following activities: (1) to detect a failure, which is a deviation between the expected and the observed behavior of a system, (2) to localize the root cause for the failure, and (3) to correct the fault, which either be a replacement of system components or any other action that brings the system back into a well-defined desired state. Note that in AMOR we focus on detection and localization. For fault correction we assume that knowledge of the root cause can be directly mapped to correcting actions. In general this would be a restriction. However, in the proposed domain where maintenance staff has access to the system and where replacement units are available this assumption is reasonable. The AMOR project started in January 2014 with a duration of 3 years. The project is funded by the Austrian Funding Agency FFG under contract number 3918955. The Institute for Software Technology of the TU Graz together with Uptime Engineering have been carrying out the project.

Project Website


Funding sources/ programmes: Steirische Wirtschaftsförderungsgesellschaft m.b.H., SFG (Österreich)

Technology and process development for remote diagnosis and optimization of wind-turbine maintenance in order to sustainably reduce the cost of wind energy. Required maintenance activities on wind turbines are identified via remote detection of deviating system behavior, root-cause diagnosis and evaluation of remaining life. Based on these results necessary activities to grant for maximum availability and lifetime of turbines are derived. The required methods, the know-how basis and the processes for wind energy are designed, developed and tested. The change process for condition based maintenance will be developed, tested and assessed for an onshore as well as an offshore wind park.

FliMBD - Analysis of Flight Data Using Model Based Driven Diagnostics

Funding sources/ programmes: European Space Agency, European Space Operations Centre (ESOC), ESA (Deutschland)

Significant efforts are made, during spacecraft development activities, to build discipline models, e.g. thermal mathematical models. Yet, a large effort is spent during operations for anomaly root cause analysis as these already existing models are not used in fault identification. The main aim of the project is to combine models and flight data, acquired during the operation of a spacecraft mission to improve spacecraft and mission fault analysis, prediction of spacecraft behaviour, and discipline models.


Catrobat/ Pocket Code


Catrobat is a visual programming language and a set of creativity tools for mobile devices especially designed for teenagers between the ages 13 to 18. An interpreter for Catrobat and a mobile IDE are combined in the Pocket Code app. The Pocket Code Android app is available on Google Play and versions for iOS and Windows Phone are currently under development. Pocket Code enables teenagers to create animations and develop programs directly on mobile devices in a fun and engaging way without the need for traditional desktop computers. Pocket Code has been inspired by Scratch, adopting its block metaphor and community aspect. However, it differs from Scratch, as it has been designed and developed for multi-touch mobile devices with small screens starting from 3 inches. Due to its focus on smartphones and tablets it allows the usage of the device sensors (e.g., compass, acceleration, and inclination sensors). Further there are several sub projects extending the basic functionality, for example a 2D physics engine, Arduino or Lego Mindstorms blocks. As in Scratch, programs are developed by composition of color-coded Lego-style blocks, with particular functionality such as conditionals, loops, and other statements. These blocks are organized in categories and can be connected via drag and drop.

Project Website

Software Engineering

Test Suite Reduction with Checked Coverage


As the size of software projects increases, their test suites usually grow accordingly. Test suite size, however, has a direct impact on the efficiency of software testing. Hence, test suite reduction (TSR) procedures aim at removing redundant test cases while maintaining the suites fault detection capabilities (FDC). This paper explores checked coverage as a coverage metric for TSR; checked coverage not only investigates if a part of code was executed but also if it was checked by a test oracle. Previously, this metric has been applied successfully as an indicator for oracle quality. To assess how suitable checked coverage is in comparison to traditional metrics, such as line or method coverage, we developed a TSR tool for Java programs. In an empirical evaluation, we performed TSR based on different reduction algorithms, coverage metrics, and open-source Java projects. Our study investigates both the efficiency of the TSR as well as effectiveness in regard to the FDC and size of the reduced test suites.

Test Suite Reduction with Checked Coverage and Genetic Parameter Tuning


As software projects evolve and grow in size and complexity, so do their test suites. Test suite reduction (TSR) aims at reducing the size of a test suite by removing redundant and obsolete test cases based on a coverage metric while preserving its fault detection capabilities. The contributions of this paper are twofold: (1) we examine a lesser known coverage criterion, i.e., checked coverage. Checked coverage not only investigates if a part of the code was executed but also if it was checked by a test oracle. In an empirical evaluation, we performed TSR based on different reduction algorithms, coverage metrics, and open-source Java projects with our own TSR tool to determine the most effective and efficient combination of metric and method. (2) Given the results of the first evaluation, we further investigate the potential of parameter optimization in regard to a genetic reduction algorithm. In particular, we focus on finding a general setting for the parameters crossover rate and mutation rate such that test suites can be reduced in a reasonable time while maintaining a high fault detection power.