2026-08-132026-08-13https://hdl.handle.net/11420/64360Softwaretests sind eine der wichtigsten Maßnahmen, um Fehler im Quellcode zu finden. Die dabei entwickelten Testfälle überprüfen, ob ein Testobjekt zu bestimmten Eingabewerten die zu erwartenden Ausgaben erzeugt. Diese Maßnahme wird in erster Linie dazu eingesetzt, um „funktionale” Fehler in Software zu finden. Sie kann jedoch auch dazu verwendet werden, Schwachstellen zu finden, die die Sicherheitseigenschaften eines Testobjekts gefährden, beispielsweise, um zu bewerten, inwieweit das System vor unbefugtem Zugriff geschützt ist und nur autorisierten Parteien der Zugriff erlaubt ist. In diesem Fall wird diese Aktivität als (Software-)Sicherheitstest bezeichnet. Zu diesem Bereich gehören verschiedene Techniken, wie SAST, DAST, sowie Penetrationstests. Obwohl sie sich diese Techniken, als effizient bei der Suche nach verschiedenen Arten von Schwachstellen erwiesen haben, weisen sie Einschränkungen auf, die verhindern, dass alle möglichen Szenarien abgedeckt werden können. Beispielsweise approximieren SAST Techniken den zu testenden Code sehr stark, sodass das tatsächliche Verhalten vernachlässigt wird; gleichzeitig erfordern DAST und Penetrationstests oft, dass das gesamte zu testende System bereitgestellt wird, was ihre Anwendung in früheren Entwicklungsphasen verhindert. Solche Einschränkungen können durch zielgerichtete Tests adressiert werden, indem z.B. sicherheitsorientierte Testfälle erstellt werden, die auf bestimmte Code-Komponenten zugeschnitten werden, die kritische Implementierungen beinhalten. Dieses Projekt SToCC (Sicherheitstests von Code-Komponenten) zielt darauf ab, einen grundlegenden wissenschaftlichen Beitrag zu Sicherheitstests auf Komponentenebene zu leisten, indem es das Profil von Sicherheitstests charakterisiert und mit automatisierten Ansätzen zu deren Generierung und Pflege experimentiert. Konkret plant SToCC, das Profil (Verbreitung, Anatomie und Dynamik) von Sicherheitstests auf Komponentenebene in Softwareprojekten zu analysieren und neue Tests zu generieren, um bisher unbekannte Schwachstellen zu erkennen. Außerdem sollen die Orakel bestehender Sicherheitstests auf Komponentenebene bewertet und verbessert sowie ihre Reaktionen bei Änderungen der Zielcode-Komponenten evaluiert werden. Dies wird durch empirische Studien und einen design-wissenschaftlichen Ansatz erreicht. Die erwartete Wirkung von SToCC besteht darin, das Bewusstsein der Sicherheitsforscher für Sicherheitstests auf Komponentenebene zu schärfen und weitere Forschungen anzuregen. Gleichzeitig können Software-Ingenieure auf den von SToCC erzeugten verwertbaren Artefakten aufbauen, um bessere Tools zu entwickeln, die die Entwicklung und Wartung von Sicherheitstests erleichtern.Software testing is the key activity for finding defects in source code, consisting of developing several test cases that evaluate a test item with specific input data and observe whether the returned results match the expected ones. This activity is primarily used to find ordinary “functional” bugs; nevertheless, it can also be used to find vulnerabilities that threaten the security properties of a test item, i.e., evaluating the degree to which it is protected from unauthorized access and permits only authorized parties to access it. In this case, the activity is called (software) security testing. Several techniques fall under this umbrella, such as SAST, DAST, and Penetration Testing. Despite all being proven efficient at finding several types of vulnerabilities, they exhibit limitations that prevent them from covering all possible scenarios in which vulnerabilities arise. For instance, SAST over-approximates the code under test and neglects its actual behavior; at the same time, DAST and penetration testing often target the entire system and require deployment, which prevents their adoption at earlier stages. Such limitations could be addressed through more fine-grained testing, creating security-focused test cases targeting specific code components whose implementations might contain security flaws. This project, named SToCC (Security Testing of Code Components), aims to make a foundational scientific contribution to component-level security testing by characterizing the profile of security tests and by experimenting with automated approaches to generate and maintain them. Specifically, SToCC plans to analyze the profile (prevalence, anatomy, and dynamics) of component-level security tests in software projects and generate new tests to detect unknown vulnerabilities. Then, it plans to assess and enhance the oracles of existing component-level security tests and evaluate their responses when the targeted code components change. This is achieved through empirical studies and a design science approach. The foreseen impact of SToCC is to raise security researchers’ awareness of component-level security testing and to stimulate further research. At the same time, software engineers can build on the exploitable artifacts produced by SToCC to develop better tools to facilitate the development and maintenance of security tests.Sicherheitstests von Code-KomponentenSecurity Testing of Code Components