Fabian Leinen, M.Sc.
Technische Universität München
Informatik 4 - Lehrstuhl für Software & Systems Engineering (Prof. Pretschner)
Postadresse
Postal:
Boltzmannstr. 3
85748 Garching b. München
Research Focus
When testing software, we assume that a test passes if the code under test is free of faults for the input defined in the test, and that the test fails if it is not. In other words, we expect a test to be deterministic, which isn't always the case. These kinds of non-deterministic tests are called flaky tests. My research focuses on supporting developers in handling flaky tests in the context of continuous integration (CI).
About
Since November 2021, I am working as a doctoral research assistant at the Chair of Software and Systems Engineering (Prof. Pretschner). Prior to joining the Chair of Software and Systems Engineering, I've been working as a Data Scientist for Artificial Intelligence in the automotive industry. I hold a Master's degree in Robotics, Cognition, Intelligence from the Technical University of Munich.
Thesis Supervision
Open Topics
Please get in touch if you are interested in guided research or if you need supervision for your master's or bachelor's thesis. Throughout the entire research period, we will meet weekly to discuss results, issues, and the next steps. You will receive feedback on your thesis before submission, giving you the opportunity to further improve your work.
When applying, please include your resume and transcript so that I can assess your prior knowledge and experience.
Supporting Developers in Repairing Flaky Tests in CI You will collect and analyze data from open-source systems to identify characteristics of flaky tests. During the project, you can acquire knowledge in the field of Continuous Integration (CI), particularly focusing on testing within CI, and enhance your data analysis skills. In case of success, if you are interested, you may also participate in a subsequent scientific publication. Prerequisites: Basic knowledge in Data Science, fundamental understanding of CI, and proficient knowledge in at least one programming language (preferably Python). | Master/Guided Research |
Finished and Ongoing Topics
Enhanced Debugging of Flaky Test Cases: Automating State Preservation for Efficient Failure Analysis | Bachelor |
Automatically Detecting Flaky End-to-End Test Failures Using Code Coverage (with RW) | Master |
Reducing Effort for Flaky Test Detection Through Resource Limitation | Bachelor |
Analyzing the Effectiveness of Rerunning Tests for Detecting Flaky UI Tests | Bachelor |
Reducing Effort for Flaky Test Detection through Dynamic Program Analysis (with DE; Rohde & Schwarz Best Bachelor Award) | Bachelor |
Determining Root Causes of Flaky Tests Using System Call Analysis (with DE) | Master |
Teaching
Semester | Title | |
---|---|---|
WS 2023/24 | Advanced Topics of Software Engineering | Tutorial + Lecture |
Seminar: Software Quality | Seminar | |
SS 2023 | Robust DevOps: Exploring Stability Factors for UI Tests | Practicum |
Seminar: Software Quality | Seminar | |
WS 2022/23 | Seminar: Software Quality | Seminar |
SS 2022 | Advanced Topics of Software Testing | Tutorial |
Seminar: Software Quality | Seminar | |
WS 2021/22 | Introduction to Informatics | Tutorial |
Publications
Wuersching, R.*, Elsner, D.*, Leinen, F., Pretschner, A., Grueneissl, G., Neumeyr, T., Vosseler, T. (2023). Severity-Aware Prioritization of System-Level Regression Tests in Automotive Software. In Proceedings of the 16th IEEE International Conference on Software Testing, Verification and Validation.