Publications

2023

Tree-Based Scenario Classification: A Formal Framework for Coverage Analysis on Test Drives of Autonomous Vehicles

In: Pre-Print

Scenario-based testing is envisioned as a key approach for the safety assurance of autonomous vehicles. In scenario-based testing, relevant (driving) scenarios are the basis of tests. Many recent works focus on specification, variation, generation and execution of individual scenarios. In this work, we address the open challenges of classifying sets of scenarios and measuring coverage of theses scenarios in recorded test drives. Technically, we define logic-based classifiers that compute features of scenarios on complex data streams and combine these classifiers into feature trees that describe sets of scenarios. We demonstrate the expressiveness and effectiveness of our approach by defining a scenario classifier for urban driving and evaluating it on data recorded from simulations. The pre-print version is available online at https://doi.org/10.48550/arXiv.2307.05106.

Download Paper

Validating Behavioral Requirements, Conditions, and Rules of Autonomous Systems with Scenario-Based Testing

In: Volume 82: 11th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation – Doctoral Symposium, 2022

Assuring the safety of autonomous vehicles is more and more approached by using scenario-based testing. Relevant driving situations are utilized here to fuel the argument that an autonomous vehicle behaves correctly. Many recent works focus on the specification, variation, generation, and execution of individual scenarios. However, it is still an open question if operational design domains, which describe the environmental conditions under which the system under test has to function, can be assessed with scenario-based testing. In this paper, we present open challenges and resulting research questions in the field of assuring the safety of autonomous vehicles. We have developed a toolchain that enables us to conduct scenario-based testing experiments based on scenario classification with temporal logic and driving data obtained from the CARLA simulator. We discuss the toolchain and present first results using analysis metrics like class coverage or distribution. The final authenticated version is available online at http://dx.doi.org/10.14279/tuj.eceasst.82.1222.

Download Paper

[bold_timeline_item_button title=”Expand” style=”” shape=”” color=”” size=”inline” url=”#” el_class=”bold_timeline_group_button”]

2022

Aligning the learning Experience in a Project-Based Course: lessons learned from the Redesign of a Programming Lab

In: 2022 IEEE/ACM 4th International Workshop on Software Engineering Education for the Next Generation (SEENG)

In teaching and training the next generation of software engineers, programming labs with students working together in small groups provide the opportunity to obtain hands-on experience for software projects involving multiple developers. However, more than other types of courses, programming labs face some challenges in providing a similar learning outcome for all students. Based on feedback and own experience from various iterations of the programming lab at TU Dortmund University, we identified that the learning ex-perience varies significantly due to heterogeneous prior knowledge, experience levels, and personality traits of both students and tutors. In this experience report, we present our approach towards aligning the learning experience by applying three different didactic im-provements based on well-studied concepts. The final authenticated version is available online at https://doi.org/10.1145/3528231.3528358.

 

Download Paper

[bold_timeline_item_button title=”Expand” style=”” shape=”” color=”” size=”inline” url=”#” el_class=”bold_timeline_group_button”]

2021

Do Away with the Frankensteinian Programs! A Proposal for a Genuine SE Education

In: 2021 Third International Workshop on Software Engineering Education for the Next Generation (SEENG)

It is widely accepted by now that the discipline of Software Engineering is distinct from both Computer Science and Electrical Engineering, and that it requires bespoke higher education programs. In this paper, we argue that previous attempts at designing such programs have often failed to fully account for three essential characteristics of the discipline. We propose a design philosophy for undergraduate Software Engineering programs addressing these particularities and outline a corresponding program. Incorporating this philosophy would make Generation Alpha the first generation to receive a genuine Software Engineering education. The final authenticated version is available online at https://doi.org/10.1109/SEENG53126.2021.00012

Download Paper

[bold_timeline_item_button title=”Expand” style=”” shape=”” color=”” size=”inline” url=”#” el_class=”bold_timeline_group_button”]

2020

Jaint: A Framework for User-Defined Dynamic Taint-Analyses Based on Dynamic Symbolic Execution of Java Programs

In: Dongol B., Troubitsyna E. (eds) Integrated Formal Methods. IFM 2020. Lecture Notes in Computer Science, vol 12546. Springer, Cham.

We present Jaint, a generic security analysis for Java Web-applications that combines concolic execution and dynamic taint analysis in a modular way. Jaint executes user-defined taint analyses that are formally specified in a domain-specific language for expressing taint-flow analyses. The final authenticated version is available online at https://doi.org/10.1007/978-3-030-63461-2_7.

Download Paper

[bold_timeline_item_button title=”Expand” style=”” shape=”” color=”” size=”inline” url=”#” el_class=”bold_timeline_group_button”]