This is simply a list of my current and finished projects. Feel free to use them.
- CPAchecker is a software used for automated software verification. It is mainly used for verifying C code against specifications like the reachability of error labels or if conditions of assert statements hold in every possible program execution. CPAchecker is a Project of the Software Systems Lab where I am working as a student assistant since 2011/07.
- Octagon-Based Software Verification with CPAchecker is the topic of my Bachelor's Thesis. It introduces a formalism for a configurable program analysis (CPA) based on the octagon abstract domain. Several different configurations of this CPA and how it can be used to analyze programs in a time- and memory-efficient manner are discussed. The evaluation of these approaches is done on two implementations of octagon-based CPAs in CPAchecker, a CPA using the Octagon Abstract Domain Library and a CPA using the APRON library. Both CPAs are compared to other analyses implemented in CPAchecker and other tools. Overall, octagon-based CPAs are not as memory-efficient as an explicit-value analysis, but they perform strictly better on programs which rely on inter-variable relations.
- Live-Variables within CPAchecker was a project that I worked on during the lecture Software Verification with two colleagues, Sebastian Ott and Thomas Ziegler. In the project we created a CPA that computes the set of live-variables for each program location. This information is quite useful for later analyses, especially when it comes to shrinking the possible state space by removing variables that are irrelevant at certain location from the appropriate states, and therefore having a higher level of abstraction.
- Path Invariants in CPAchecker is the outcome of a seminar on software verification. I implemented and evaluated invariant generation bound to found (infeasible) error paths in CPAchecker. With invariants we hoped to reduce the number of necessary loop unrollings while doing predicate abstraction together with CEGAR. The evaluation shows that the overall impact is not very high, but still about 1.5% (about 30 runs) more of the analyzed programs could be verified correctly.
- Augmenting Predicate Analysis with Invariants is the topic of my Master's Thesis. It introduces new ways to generate invariants for certain program locations and evaluates the effects of using invariants for anlyses based on predicate abstraction. While some approaches did not lead to the expected performance improvements, using several analyses in parallel lead to huge performance improvements. More information is available in the previously mentioned link.
- Integration and Evaluation of the Multext-East Corpus in NLTK was the topic of our work in the Text-Mining Project, a course I attended in 2015 during my studies. I worked on this project with two colleagues, Alexander Böhm and Thomas Ziegler. We created a corpus reader for the Multext-East corpus which is now integrated in NLTK. For more information about the evaluation and the code please refer to the linked github repository and the documentation which resides there, too. The work can also be downloaded here
- Mail()man Subscription a simple plugin which generates a widget allowing users to subscribe to mailing-lists via the php mail() function
- Sillard a game which was created by 5 friends of mine + me on a Weekend of Code. It is a mixture of soccer and billiard.
- Schafkopfauswerter is a tool for the documentation and evaluation of Schafkopf-games. It provides statistics in the form of tables and plots, allows saving the current scores and also a pdf export is available. This tool was completely rewritten with AspectJ as a project during the lecture Software Product-Line Engineering. AspectJ is a seamless aspect-oriented extension to Java which, for example, allows to modularize crosscutting concerns.
- jSoccer a Framework where self-programmed AI's can play soccer against each other. This project was developed during the "Software Engineering Project" at the University of Passau with 5 other students. It is no longer maintained, however if you have questions, feel free to contact me.