2018
DOI: 10.1145/3296979.3192417
|View full text |Cite
|
Sign up to set email alerts
|

User-guided program reasoning using Bayesian inference

Abstract: 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 th… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

0
24
0

Year Published

2018
2018
2022
2022

Publication Types

Select...
4
2

Relationship

1
5

Authors

Journals

citations
Cited by 17 publications
(24 citation statements)
references
References 54 publications
0
24
0
Order By: Relevance
“…The original Chord implementation dates back to 2006 and has not been maintained, so is difficult to run on current Java projects. However, the recent work on the Bingo tool by Raghothaman et al (2018) has included a compilable version of the Chord algorithm, as well as a harness for running it on specific projects, as a part of a benchmark suite to demonstrate the use of Bayesian inference to improve static analysis results. The authors of Bingo have kindly shared their Chord-related artifacts with us and helped us carry out a comparison.…”
Section: Static Race Detectorsmentioning
confidence: 99%
See 1 more Smart Citation
“…The original Chord implementation dates back to 2006 and has not been maintained, so is difficult to run on current Java projects. However, the recent work on the Bingo tool by Raghothaman et al (2018) has included a compilable version of the Chord algorithm, as well as a harness for running it on specific projects, as a part of a benchmark suite to demonstrate the use of Bayesian inference to improve static analysis results. The authors of Bingo have kindly shared their Chord-related artifacts with us and helped us carry out a comparison.…”
Section: Static Race Detectorsmentioning
confidence: 99%
“…We used the benchmarks that were used to evaluate Chord in the context of the Bingo work (Raghothaman et al 2018). The chosen programs are all concurrent applications from different domains.…”
Section: Static Race Detectorsmentioning
confidence: 99%
“…In this section we place RacerDX in the field of static race detectors that have been subjected to formal analysis. Since the majority of the static race analyzers used in industry-ThreadSafe (Atkey and Sannella 2015), Coverity's analysis suite (Chou 2014), and RacerD (Blackshear et al 2018)despite being impactful in practice, do not come with any formal theorem about their algorithm, we focus on the only two race analyzers we know of, for which a formal statement has been made: Chord (Naik et al 2006;Raghothaman et al 2018) and RacerDX. Chord is a tool which strives to be sound, or to favour reduction of false negatives over false positives.…”
Section: Discussion and Related Workmentioning
confidence: 99%
“…For analyzers that come with a proof of soundness, the criterion often used is that of precision, i.e., that the analyzer does not report too many false positives. The rate of true positives can be improved by chaining the main analysis with a suitably tailored pre-analysis (Oh et al 2014), or by involving a user into the loop and taking her feedback into account (Raghothaman et al 2018).…”
Section: Discussion and Related Workmentioning
confidence: 99%
“…There have been several recent successes in applying (supervised) machine learning to programming languages research. For example, machine learning has been used to infer program invariants [Padhi et al 2016;, improve program analysis [Liang et al 2011;Mangal et al 2015;Raghothaman et al 2018;Raychev et al 2015] and synthesis [Balog et al 2016;Feng et al 2018Kalyan et al 2018;Lee et al 2018;Raychev et al 2016b;Schkufza et al 2013Schkufza et al , 2014, build probabilistic models of code [Bielik et al 2016;Raychev et al 2016aRaychev et al , 2014, infer specifications [Bastani et al 2017[Bastani et al , 2018bBeckman and Nori 2011;Bielik et al 2017;Heule et al 2016;Kremenek et al 2006;Livshits et al 2009], test software [Clapp et al 2016;Godefroid et al 2017;Liblit et al 2005], and select lemmas for automated Proof. First, because transitions are deterministic, we have…”
Section: Related Workmentioning
confidence: 99%