14. Februar 2019

SCCH: Automatischer Softwaretest

Automatischer Softwaretest
Dynamic Symbolic Execution (DSE)

Ausgehend von einem Startinput analysieren diese Werkzeuge einen einzelnen Ausführungspfad einer einzelnen Funktion oder einer vollständigen Software-Anwendung (z. B. PowerPoint) und generieren fortlaufend neuen Testinput, um neue Ausführungspfade testen. Laut Microsoft konnten mit dieser Technik viele kritische Software-Fehler gefunden werden, auch für bereits gut getestete Software.

Ziel dieser Arbeit ist, die Idee DSE ausgehend von einem am SCCH existierenden Prototyp für eine Untermenge einer Programmiersprache (z. B. Pascal, C oder Java) umzusetzen und für verschiedene Anwendungsfälle zu evaluieren. Der Schwerpunkt dieser Arbeit liegt auf der Untersuchung der Technik DSE anhand von Anwendungsfällen, die typsicherweise am SCCH auftreten. Dazu zählen vor allem Testfallgenerierung und Reverse Engineering. Darüber hinaus soll die Implementierung mit anderen Testtools (z. B. Randoop) verglichen werden. Die erwarteten Ergebnisse der Arbeit sind:

Überblick zu Werkzeugen und Anwendungsfällen

  • Implementierung DSE auf Basis des OMG-Standards GASTM für eine sprachunabhängige Speicherung von abstrakten Syntaxbäumen
  • Integration eines SMT-Solvers (z. B. Microsoft Z3) zur Prüfung von erreichbaren Pfaden
  • Experimentelle Evaluierung der Implementierung anhand von SCCH-AnwendungsfällenAls Implementierungssprache kann Java, Scala oder Kotlin verwendet werden.

Nähere Details zur Stellenausschreibung.

Kontakt

Software Competence Center Hagenberg GmbH
Softwarepark 21
4232 Hagenberg
Phone: +43 7236 3343 880
E-Mail senden