MTMatthias Tichy

Matthias Tichy

*This is an algorithmically generated author record based on publicly available information.

Current Organizations / Institutes

The organizations/institutes from the scholar's latest article

Previous Organizations / Institutes

The organizations / institutes from the scholar's other articles in the past ten years


Matthias Tichy has a total of 152 co-authors. Here are the top co-authors by number of shared publications:


Latest Publications

  • Open Access

    Towards Statically Reasoning about R Vectors

    by Manuel Di Agostino, Florian Sihler, Vincenzo Arceri, Oliver Gerstl, Matthias Tichy

  • Open Access

    Supporting the Comprehension of Data Analysis Scripts

    by Florian Sihler, Oliver Gerstl, Lars Pfrenger, Julian Schubert, Matthias Tichy

  • Open Access

    Tackling Expressive Feature-Modeling Constructs with Pseudo-Boolean d-DNNF Compilation

    by Chico Sundermann, Stefan Vill, Elias Kuiter, Sebastian Krieter, Thomas Thüm, Matthias Tichy

    Configurable systems typically consist of reusable assets that have dependencies between each other. To specify such dependencies, feature models are commonly used. As feature models in practice are often complex, automated reasoning is typically employed to analyze the dependencies. Here, the de facto standard is translating the feature model to conjunctive normal form (CNF) to enable employing off-the-shelf tools, such as SAT or #SAT solvers. However, modern feature-modeling dialects often contain constructs, such as cardinality constraints, that are ill-suited for conversion to CNF. This mismatch between the input of reasoning engines and the available feature-modeling dialects limits the applicability of the more expressive constructs. In this work, we shorten this gap between expressive constructs and scalable automated reasoning. Our contribution is twofold: First, we provide a pseudo-Boolean encoding for feature models, which facilitates smaller representations of commonly employed constructs compared to Boolean encoding. Second, we propose a novel method to compile pseudo-Boolean formulas to Boolean d- DNNFs. With the compiled d-DNNFs, we can resort to a plethora of efficient analyses already used in feature modeling. Our empirical evaluation shows that our proposal substantially outperforms the state-of-the-art based on CNF inputs for expressive constructs. For every considered dataset representing different feature models and feature-modeling constructs, the feature models can be significantly faster translated to pseudo-Boolean than to CNF. Overall, deriving d-DNNFs from a feature model with the targeted expressive constraints can be substantially accelerated using our pseudo-Boolean approach. For instance, the Boolean approach only scales for group cardinalities with up-to 13 features while pseudo-Boolean d-DNNF compilation can compile cardinalities with thousands of features. Furthermore, our approach is competitive on feature models with only basic constructs.


  • Open Access

    Mapping aids using output-directed programming increase novices’ performance in programming mobile robotic systems

    by Thomas Witte, Andrea Vogt, Tina Seufert, Matthias Tichy

    Context: Novices programming robotic systems’ behavior, like quadcopter missions, face several challenges and require adequate support to overcome initial barriers. One approach to support novices is to display multiple representations such as graphical previews along with the code editor. Such supportive representations, however, also pose challenges for novices: finding corresponding information in the code and in the preview. To facilitate this, mapping aids can be implemented to clarify the connections between code and preview and foster a deeper understanding. Using output-directed programming, that is, adding the ability to reverse expression evaluation in the domain-specific language, is a promising basis for easily creating and implementing mapping aids. Objective: We investigated, whether mapping aids based on output-directed programming can improve learning language semantics and overall program correctness and how these mapping aids support novices while implementing quadcopter missions. Method: In our study, we tested $$N=82$$ participants while interacting and learning in an online programming environment. Using our 2x2 between-subject design study, we investigated the effects of two mapping aids: highlighting (supports to find element-based connections in the environment) and dynamic linking (supports finding similarities on the semantic level of the content) on program correctness including a typical error, learning outcomes as well as traces of learning strategies. Results: While highlights were more helpful for implementing the quadcopter missions (mission 1: $$p=.008$$ **, $$\eta ^2_{\small \textit{partial}}=.091$$ ), dynamic linking improved learning outcomes on the comprehension ( $$F(1,75)=5.61$$ , $$p=.020$$ *, $$\eta ^2_{\small \textit{partial}} =.070$$ ) and application level ( $$F(1,75)=4.08$$ , $$p=.047$$ *, $$\eta ^2_{\small \textit{partial}} =.052$$ ). Traces of learning strategies were related to higher program correctness (organizing (changes in the preview)): $$r=.553$$ , $$p<.001$$ ***; elaborating (time engaging in the task)): $$r=.639$$ $$p<.001$$ ***) and higher learning outcomes (organizing: $$r=.400$$ , $$p<.001$$ ***; elaborating : $$r=.404$$ , $$p<.001$$ ***). Conclusions: Implementing mapping aids through output-directed programming supports novices in developing a better semantic understanding of the domain specific language. Depending on the program tasks, different mapping aids might be effective. Based on traces of learning strategies while programming, adaptive interactive programming environments might support users individually.

  • Open Access

    Statically Analyzing the Dataflow of R Programs

    by Florian Sihler, Matthias Tichy

    The R programming language is primarily designed for statistical computing and mostly used by researchers without a background in computer science. R provides a wide range of dynamic features and peculiarities that are difficult to analyze statically like dynamic scoping and lazy evaluation with dynamic side effects. At the same time, the R ecosystem lacks sophisticated analysis tools that support researchers in understanding and improving their code. In this paper, we present a novel static dataflow analysis framework for the R programming language that is capable of handling the dynamic nature of R programs and produces the dataflow graph of given R programs. This graph can be essential in a range of analyses, including program slicing, which we implement as a proof of concept. The core analysis works as a stateful fold over a normalized version of the abstract syntax tree of the R program, which tracks (re-)definitions, values, function calls, side effects, external files, and a dynamic control flow to produce one dataflow graph per program. We evaluate the correctness of our analysis using output equivalence testing on a manually curated dataset of 779 sensible slicing points from executable real-world R scripts. Additionally, we use a set of systematic test cases based on the capabilities of the R language and the implementation of the R interpreter and measure the runtimes well as the memory consumption on a set of 4,230 real-world R scripts and 20,815 packages available on R’s package manager CRAN. Furthermore, we evaluate the recall of our program slicer, its accuracy using shrinking, and its improvement over the state of the art. We correctly analyze almost all programs in our equivalence test suite, preserving the identical output for 99.7% of the manually curated slicing points. On average, we require 576ms to analyze the dataflow and around 213kB to store the graph of a research script. This shows that our analysis is capable of analyzing real-world sources quickly and correctly. Our slicer achieves an average reduction of 84.8% of tokens indicating its potential to improve program comprehension.


  • Explainability in Self-Adaptive Systems: A Systematic Literature Review

    by Raphael Straub, Florian Sihler, Ali Torbati, Cong Wang, Raffaela Groner, Verena Klös, Matthias Tichy


  • Model-Based Proactive Self-adaptation for Cloud Systems

    by Raphael Straub, Sarah Stieß, Steffen Becker, Matthias Tichy