Es passiert immer wieder, dass manche Firm Programme interessante Eigenschaften aufweisen (z.B. unseren Compiler zum Absturz bringen). Oft sind diese Programme zu groß, um an ihnen die Ursache für die Eigenschaft zu erkennen. Was folgt, sind händische Schritte zur Minimierung des Programms. Nach jedem Schritt muss sichergestellt werden, dass die interessante Eigenschaft immer noch auftritt.
Um diese Schritte zu automatisieren, existiert C-Reduce für interessante C Programme. Das ist ein Tool, das sich als erstaunlich effektiv erwiesen hat, um Testfälle in C zu minimieren, die bspw. Compilerfehler demonstrieren. Wie aber FirmSmith gezeigt hat, gibt es auch interessante Firm Programme, die nicht als C Programme ausdrückbar sind, die es sich lohnt zu minimieren.
Aufgabe:
Diese Arbeit beschäftigt sich mit der automatischen Minimierung von Firm Programmen, die interessante Eigenschaften aufweisen. Dazu muss der Programmgraph auf sinnvolle Weise verkleinert werden, wobei seine interessanten Eigenschaften erhalten bleiben sollen.
Veröffentlichungen
Veröffentlichung |
FirmReduce: Automated Test-Case Reduction for Graph-Based Compilers |
Betreuer
Wissenschaftliche Mitarbeiter |
---|
Sebastian Graf |
Studenten
Studenten |
---|
Tina Maria Strößner |