Key points are not available for this paper at this time.
Android-Apps sind allgegenwärtig und leiden häufig unter Abstürzen - was zu einer schlechten Benutzererfahrung und wirtschaftlichen Verlusten führt. Frühere Arbeiten konzentrierten sich auf die automatisierte Testgenerierung zur Erkennung von Abstürzen in Android-Apps. Die automatisierte Reparatur von Abstürzen wurde jedoch nicht untersucht. In diesem Papier schlagen wir den ersten Ansatz zur automatischen Reparatur von Android-Apps vor, insbesondere schlagen wir eine Technik zur Behebung von Abstürzen in Android-Apps vor. Im Gegensatz zu den meisten testbasierten Reparaturansätzen benötigen wir kein Test-Suite; stattdessen wird ein einziger fehlerhafter Test sorgfältig auf Absturzorte und die Gründe für diese Abstürze analysiert. Unser Ansatz basiert auf einer sorgfältigen empirischen Studie, die darauf abzielt, häufige Ursachen für Abstürze in Android-Apps zu identifizieren und dann das Heilmittel für diese Ursachen in Form von acht generischen Transformationsoperatoren zu destillieren. Diese Operatoren werden mithilfe eines suchbasierten Reparaturrahmens angewendet, der in unserem Reparaturwerkzeug Droix verkörpert ist. Wir bereiten auch eine Benchmark DroixBench vor, die reproduzierbare Abstürze in Android-Apps erfasst. Unsere Bewertung von Droix auf DroixBench zeigt, dass die automatisch erzeugten Patches oft syntaktisch identisch mit dem menschlichen Patch sind und in einigen seltenen Fällen sogar besser als der menschliche Patch (in Bezug auf die Vermeidung von Regressionen). Diese Ergebnisse bestätigen unser Bauchgefühl, dass unsere vorgeschlagenen Transformationen eine ausreichende Menge an Operatoren bilden, um Abstürze in Android zu beheben.
Tan et al. (Sun,) untersuchten diese Frage.