Key points are not available for this paper at this time.
Programmanalysetools erzeugen oft unerwünschte Ausgaben aufgrund verschiedener Annäherungen. Wir präsentieren einen Ansatz und ein System namens EUGENE, das es Nutzerfeedback ermöglicht, solche Annäherungen zu steuern, um die gewünschten Ausgaben zu erzeugen. Wir formulieren das Problem der benutzergeführten Programmanalyse als Lösung einer Kombination aus harten und weichen Regeln: harte Regeln erfassen die Korrektheit, während weiche Regeln Grade der Annäherungen und Benutzerpräferenzen erfassen. Unsere Technik löst die Regeln mithilfe eines handelsüblichen Lösers in einer Weise, die sound ist (alle harten Regeln erfüllt), optimal (maximal weiche Regeln erfüllt) und auf reale Analysen und Programme skalierbar ist. Wir evaluieren EUGENE anhand von zwei verschiedenen Analysen mit gekennzeichneten Ausgaben auf einer Suite von sieben Java-Programmen mit einer Größe von 131–198 KLOC. Wir berichten auch über eine Benutzerstudie mit neun Nutzern, die EUGENE verwenden, um eine Informationsflussanalyse auf drei Java-Mikrobenchmarks zu leiten. In unseren Experimenten reduziert EUGENE signifikant falsch klassifizierte Berichte, wenn nur begrenzte Mengen an Feedback gegeben werden.
Mangal et al. (Wed,) haben diese Frage untersucht.