Proceedings of the 40th ACM SIGPLAN Conference on Programming Language Design and Implementation 2019
DOI: 10.1145/3314221.3314616
|View full text |Cite
|
Sign up to set email alerts
|

Continuously reasoning about programs using differential Bayesian inference

Abstract: Programs often evolve by continuously integrating changes from multiple programmers. The effective adoption of program analysis tools in this continuous integration setting is hindered by the need to only report alarms relevant to a particular program change. We present a probabilistic framework, Drake, to apply program analyses to continuously evolving programs. Drake is applicable to a broad range of analyses that are based on deductive reasoning. The key insight underlying Drake is to compute a graph that c… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
5
0

Year Published

2019
2019
2023
2023

Publication Types

Select...
5
2
1

Relationship

1
7

Authors

Journals

citations
Cited by 17 publications
(5 citation statements)
references
References 55 publications
(68 reference statements)
0
5
0
Order By: Relevance
“…Work also exists in a variety of program analysis domains. Si et al [55] learn to predict loop invariants, Mangal et al [47] and Heo et al [33] use machine learning methods to filter false positives from program analyses by learning from user feedback. Chibotaru et al [17] use weakly supervised learning to learn taint specifications and DeFreez et al [23] mine API call sequence specifications.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Work also exists in a variety of program analysis domains. Si et al [55] learn to predict loop invariants, Mangal et al [47] and Heo et al [33] use machine learning methods to filter false positives from program analyses by learning from user feedback. Chibotaru et al [17] use weakly supervised learning to learn taint specifications and DeFreez et al [23] mine API call sequence specifications.…”
Section: Related Workmentioning
confidence: 99%
“…Finally, graphs, which Typilus employs, encode a variety of complex relationships among the elements of code. Examples of include the early works of Kremenek et al [40] and Raychev et al [51] and variations of GNNs [5,20,33].…”
Section: Related Workmentioning
confidence: 99%
“…• Liang et al [107] have introduced a novel Expressive Defect Pattern Specification Notation (EDPSN) to define a resource-leak defect pattern more precisely, and have used it to prioritize resource leaks. • Heo et al [68] have proposed a technique to rank alarms generated on evolving code. They compute a graph that concisely and precisely captures differences between the derivations of alarms generated before and after the change.…”
Section: Other Techniques a Few Other Techniques Used To Rank Alarms ...mentioning
confidence: 99%
“…In this paper, we demonstrate the utility of property signatures for program synthesis, using them to perform a type of premise selection as in Balog et al (2016). More broadly, however, we envision that property signatures could be useful across a broad range of problems, including algorithm induction (Devlin et al, 2017), improving code readability (Allamanis et al, 2014), and program analysis (Heo et al, 2019).…”
Section: Introductionmentioning
confidence: 97%