User-guided program reasoning using Bayesian inference

Cited 27 time in webofscience Cited 6 time in scopus
  • Hit : 122
  • Download : 0
Program analyses necessarily make approximations that often lead them to report true alarms interspersed with many false alarms. We propose a new approach to leverage user feedback to guide program analyses towards true alarms and away from false alarms. Our approach associates each alarm with a confidence value by performing Bayesian inference on a probabilistic model derived from the analysis rules. In each iteration, the user inspects the alarm with the highest confidence and labels its ground truth, and the approach recomputes the confidences of the remaining alarms given this feedback. It thereby maximizes the return on the effort by the user in inspecting each alarm. We have implemented our approach in a tool named Bingo for program analyses expressed in Datalog. Experiments with real users and two sophisticated analyses - a static datarace analysis for Java programs and a static taint analysis for Android apps - show significant improvements on a range of metrics, including false alarm rates and number of bugs found.
Publisher
Association for Computing Machinery
Issue Date
2018-06-18
Language
English
Citation

39th ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2018, pp.722 - 735

ISSN
0362-1340
DOI
10.1145/3192366.3192417
URI
http://hdl.handle.net/10203/277250
Appears in Collection
CS-Conference Papers(학술회의논문)
Files in This Item
There are no files associated with this item.
This item is cited by other documents in WoS
⊙ Detail Information in WoSⓡ Click to see webofscience_button
⊙ Cited 27 items in WoS Click to see citing articles in records_button

qr_code

  • mendeley

    citeulike


rss_1.0 rss_2.0 atom_1.0