Key points are not available for this paper at this time.
PHP-Webanwendungen erzeugen routinemäßig ungültiges HTML. Moderne Browser korrigieren HTML-Fehler stillschweigend, aber manchmal werden fehlerhafte Seiten inkonsistent gerendert, führen zu Browser-Abstürzen oder legen Sicherheitsanfälligkeiten offen. Fehler in generierten Seiten zu beheben ist in der Regel unkompliziert, aber die Reparatur des generierenden PHP-Programms kann viel schwieriger sein. Wir beobachten, dass fehlerhaftes HTML oft durch falsche konstanten Ausgaben erzeugt wird, d.h. durch Anweisungen, die String-Literale ausgeben, und präsentieren zwei Werkzeuge zur automatischen Behebung solcher HTML-Generierungsfehler. PHPQuickFix behebt einfache Fehler durch statische Analyse einzelner Ausgaben. PHPRepair behandelt allgemeinere Reparaturen mit einem dynamischen Ansatz. Basierend auf einer Testsuite wird die Eigenschaft kodiert, dass alle Tests die erwartete Ausgabe liefern sollten, als String-Constraint über Variablen, die konstante Ausgaben repräsentieren. Die Lösung dieses Constraints beschreibt, wie konstante Ausgaben modifiziert werden müssen, damit alle Tests bestanden werden. Beide Werkzeuge wurden als Eclipse-Plugin implementiert und an PHP-Programmen getestet, die Hunderte von HTML-Generierungsfehlern enthielten, von denen die meisten unsere Werkzeuge automatisch reparieren konnten.
Samimi et al. (Fri,) haben diese Frage untersucht.