Schutz der Vollständigen Codeabdeckung bei Codeoptimierung
Sustaining Entire Code-Coverage on Code Optimization
Wissenschaftsdisziplinen
Informatik (100%)
Keywords
-
Testing Embedded Systems,
Code-Coverage Preservation,
Code Transformation,
Code Optimization,
Measurement-Based Timing Analysis,
Compiler
Das SECCO-Projekt beschäftigt sich mit dem Gebiet des Softwaretestens, im speziellen mit der Unterstützung von Gray-Box-Testen wobei das Quellprogramm zur Testdatengenerierung herangezogen wird. Sobald in der Softwareentwicklung ein optimierender Compiler benutzt wird, kann man allerdings nicht mehr garantieren, dass eine auf Quellcodeebene erreichte Codeabdeckung auch noch auf Maschinencodeebene erhalten bleibt. Der derzeitige Umgang mit diesem Problem ist entweder, dass man "mit dem Problem lebt" oder aber, dass man die Codeoptimierungen gänzlich deaktiviert. Das SECCO-Projekt behandelt die Entwicklung von Methoden um das Problem der Garantie von Codeabdeckung auf Maschinencodeebene zu lösen. Dazu werden nur jene Codeoptimierungen freigeschaltet welche das gefragte Codeabdeckungsmaß nicht zerstören können. Aus technischer Sicht wird hierfür für jede Codeoptimierung formal bewiesen, ob sie das gefragte Codeabdeckungsmaß beibehält. Dazu muss das Codeabdeckungsmaß formalisiert werden und ein formales Kriterium für die Erhaltung des Codeabdeckungsmaßes daraus abgeleitet werden. In bedeutenden Industriebreichen wie etwa der Automobilindustrie setzten sich formale Methoden zur Sicherstellung der Produktqualität und noch wichtiger, der Sicherheit der Passagieren zunehmend durch. Das SECCO-Projekt liefert die Grundlage für formale Testdatengenerierung auf Quellcodeebene. Neben dem Testen von Software begünstigen die Ergebnisse von SECCO auch die Anwendbarkeit von messbasierter Zeitanalyse.
Das SECCO-Projekt beschäftigt sich mit dem Gebiet des Softwaretestens, im speziellen mit der Unterstützung von Gray-Box-Testen wobei das Quellprogramm zur Testdatengenerierung herangezogen wird. Sobald in der Softwareentwicklung ein optimierender Compiler benutzt wird, kann man allerdings nicht mehr garantieren, dass eine auf Quellcodeebene erreichte Codeabdeckung auch noch auf Maschinencodeebene erhalten bleibt. Der derzeitige Umgang mit diesem Problem ist entweder, dass man "mit dem Problem lebt" oder aber, dass man die Codeoptimierungen gänzlich deaktiviert. Das SECCO-Projekt behandelt die Entwicklung von Methoden um das Problem der Garantie von Codeabdeckung auf Maschinencodeebene zu lösen. Dazu werden nur jene Codeoptimierungen freigeschaltet welche das gefragte Codeabdeckungsmaß nicht zerstören können. Aus technischer Sicht wird hierfür für jede Codeoptimierung formal bewiesen, ob sie das gefragte Codeabdeckungsmaß beibehält. Dazu muss das Codeabdeckungsmaß formalisiert werden und ein formales Kriterium für die Erhaltung des Codeabdeckungsmaßes daraus abgeleitet werden. In bedeutenden Industriebreichen wie etwa der Automobilindustrie setzten sich formale Methoden zur Sicherstellung der Produktqualität und noch wichtiger, der Sicherheit der Passagieren zunehmend durch. Das SECCO-Projekt liefert die Grundlage für formale Testdatengenerierung auf Quellcodeebene. Neben dem Testen von Software begünstigen die Ergebnisse von SECCO auch die Anwendbarkeit von messbasierter Zeitanalyse.
- Technische Universität Wien - 100%
Research Output
- 21 Zitationen
- 3 Publikationen
-
2010
Titel Avoiding Timing Anomalies using Code Transformations DOI 10.1109/isorc.2010.27 Typ Conference Proceeding Abstract Autor Kadlec A Seiten 123-132 Link Publikation -
2009
Titel Towards Preserving Model Coverage and Structural Code Coverage DOI 10.1155/2009/127945 Typ Journal Article Autor Kirner R Journal EURASIP Journal on Embedded Systems Seiten 127945 Link Publikation -
2012
Titel Optimizing compilation with preservation of structural code coverage metrics to support software testing DOI 10.1002/stvr.1485 Typ Journal Article Autor Kirner R Journal Software Testing, Verification and Reliability Seiten 184-218 Link Publikation