Our research aims at the development of concepts, methods and tools for the holistic engineering of dependable and secure software-intensive systems. These software systems must be robust and resilient with respect to planned and unplanned changes in the context of configuration, reconfiguration, or evolution. The systems must be reliably and securely dynamically adaptable to new application scenarios and environments and support systematic reuse. In this context, precise, mathematically sound guarantees for critical functional and non-functional system properties, in particular for dependability and security, are essential. Application areas for this research are mainly in the field of automotive software and systems engineering and in automation technology in mechanical and plant engineering.
- Security-by-Design and By-Construction Engineering:
Software-intensive systems in safety and mission-critical areas place high demands on their safety (safety and security) and reliability. These essential system properties must already be considered in the development process in order to be able to guarantee them in operation. The approach of by-construction engineering aims at developing software systems starting from a (formal) specification of their functional and non-functional properties in such a way that they fulfill these properties by construction.
- Software Diversity (Variability & Adaptability): Modern software systems are highly configurable to adapt to different requirements and environmental contexts. This configurability at development time can also be used as adaptability at runtime, so that systems can adapt independently to new conditions. This can improve the robustness and resilience of software systems through diversity, which can be used especially for hardening systems to defend against attacks.
- Provable Security and Post-hoc Quality Assurance:
Complementary to by-construction engineering, post-hoc quality assurance techniques aim at testing critical functional and non-functional properties, including dependability and security, of systems and thus guaranteeing the quality of these systems. A special focus of the research work is efficient and effective test procedures based on systematic test case generation, test case selection and test case prioritization, especially for variant-rich and evolving software systems. This also includes assurance procedures for intelligent systems in which parts of the functionality are realized by trained AI components. A current research project is concerned with end-to-end testing of intelligent driving functions in the context of automated driving, which is also intended to detect targeted attacks on the AI components. Another research focus is the use of formal methods, especially deductive verification, for the quality assurance of software systems. In this context, our research aims at scaling these techniques by exploiting modularity and improving usability through modern AI-based methods.
- Legacy Software Analysis:
Modern software systems are usually no longer developed from scratch. Instead, software systems are continuously developed further. However, this continuous development often leads to the loss of documentation about the software systems, as well as to the transfer of errors from one part of the system to another by copying. Research in the area of legacy system analysis aims at analyzing existing structures of these systems (re-engineering) and thus creating the possibilities to restructure or even migrate the legacy systems. For example, existing functionalities of a legacy system can be transferred into a new type of security architecture. The extraction of reusable building blocks from legacy systems allows a systematic reuse and further development of these systems with the goal of Sustainable Software Engineering.
Tobias Pett, Ina Schaefer
|ProvideQ (Quantum Readiness for Optimization Providers)||
Domenik Eichhorn, Ina Schaefer
|QuBRA (Quantum Methods and Benchmarks for Resource Allocation)||
Alexander Kittelmann, Ina Schaefer
Tabea Bordis, Tobias Runge, Ina Schaefer
Lukas Birkemeyer, Ina Schaefer
|Taxonomy-based software development||
Christoph König, Ina Schaefer