Masterarbeit MSTR-2016-37

Bibliograph.
Daten
Rudolph, Tobias: Improving Automatic Software Repair with Probabilistic Symbolic Execution.
Universität Stuttgart, Fakultät Informatik, Elektrotechnik und Informationstechnik, Masterarbeit (2016).
69 Seiten, englisch.
CR-Klassif.D.2.5 (Software Engineering Testing and Debugging)
D.2.8 (Software Engineering Metrics)
Kurzfassung

Automatic software repair techniques aim at repairing error-prone code automatically. In particular, test-based automatic software repair approaches use test cases to locate a bug and evaluate the automatically created repair code. However, this evaluation is only based on the successful or failing execution of the test cases but ignore the behavior of the software under the majority of of usage scenarios, which are not covered by the given test cases. Despite a variety of test-based program repair approaches have appeared in literature, the problem of a repair code altering the behavior of the program for uncovered scenarios has not addressed. This thesis introduces a new metric to quantify the discrepancy in the set of possible execution paths introduced by different repair candidates, and computes it from the source code of the program using probabilistic symbolic execution. This allows for an exhaustive analysis that takes into account also the behaviors not covered by the available test cases. The approach has been implemented extending Nopol, an opensource tool for test-based automatic software repair. The new approach has been evaluate on a set of Java benchmarks, demonstrating an improved quality of the computed program repairs, which do not only pass the tests but also limit as much as possible the alteration of the uncovered program behaviors.

Volltext und
andere Links
PDF (723561 Bytes)
Abteilung(en)Universität Stuttgart, Institut für Softwaretechnologie, Sichere und Zuverlässige Softwaresysteme
BetreuerFilieri, Dr. Antonio
Eingabedatum1. August 2018
   Publ. Informatik