Entwurf und Umsetzung einer modularen Architektur für das coffee4j Testframework
Bachelorarbeit, Frederic Keese, 2026
Kurzfassung
Coffee4j ist ein Framework für Kombinatorisches Testen und Fault Characterization. In dieser Arbeit werden technische Einschränkungen des Frameworks identifiziert, welche die weitere Entwicklung des Frameworks erschweren. Es wird herausgestellt, dass die Dependencies sowie die Java Version veraltet sind, die allgemeine Codequalität eingeschränkt ist und die starke Bindung des Interleaving-Ansatzes der Fault Characterization zu einer schlechten Trennung der Verantwortlichkeiten führt. Ziel der Arbeit ist diese Probleme mithilfe von systematischem Vorgehen zu lindern oder zu beseitigen. Die Arbeit sieht dafür eine vollständige Aktualisierung von Dependencies und Java, eine statische Codeanalyse zur Verbesserung der Codequalität und eine Extraktion des Interleaving-Ansatzes als separates, optionales Modul vor.
Zu den wichtigsten Ergebnissen der Arbeit zählen die Aktualisierung sämtlicher Dependencies und in diesem Zuge die Beseitigung bekannter Sicherheitsschwachstellen, eine Reduktion des Wartungsbedarfs des Frameworks sowie der Entwurf und die Umsetzung einer modularen Architektur für das Framework durch Separieren des Interleaving-Ansatzes in ein optionales Modul. Die Ergebnisse deuten auf einer Verbesserung der Wartbarkeit und Erweiterbarkeit des Frameworks hin, wodurch zukünftige Entwicklung erleichtert wird.
Abstract
Coffee4j is a framework for combinatorial testing and fault characterization. This thesis identifies different technical restrictions, that complicate further development of the framework. These restriction include outdated dependencies and java version, poor code quality and bad seperation of concerns due to strong attachment of the specialized interleaving approach for fault characterization to the framework. This thesis aims to minimize or eliminate these issues through a systematic approach. This is achieved by fully updating the dependencies and java, improving code quality with static code analysis and extracting an optional, separate interleaving module.
The results of this thesis include the complete update of all dependencies, which also leads to the removal of several known security vulnerabilities from the framework. The thesis also achieves a reduction of the framework's maintenance needs and a full separation of the interleaving approach into a optional module creating a modular architecture for the framework. These results point to an improvement of maintanability and extensiblity, which will facilitate future development.