An important and currently unsatisfactorily solved problem in the software development process is the reliability of the produced software. A software is reliable if it respects the requirements and gracefully handles erroneous situations. Especially in safety critical application domains as for example nuclear power plants, computer controlled subway trains or applications in the field of medicine it is crucial that used computer systems work reliably and safely.
The correctness of software systems is mostly determined by two factors:
- the quality of the requirements specification
- the quality of the concrete realisation by a computer system with respect to the requirements specification.
A paramount goal of our research team is the development of methods to improve software quality. A key factor for correctness of programmes are formal methods, which are based on precise mathematical notations. The correctness of a progamme can only be proved against some formal specification. Our team is focused on the application of algebraic specifications (Prof. Wirsing participated in their foundation in the late 70'ies). Another main focus is set on the research on the application of temporal logics, which were founded by Prof. Kröger amongst others. Temporal logics can be used for the specifcation of parallel programmes.
A third goal of our group is the research on techniques for software reuse. The reuse of proved (or at least well tested) software components leads to more reliable software at reduced costs.