Continuously Reasoning about Programs using Differential Bayesian Inference
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 concisely and precisely captures differences between the derivations of alarms produced by the given analysis on the program before and after the change. Performing Bayesian inference on the graph thereby enables to rank alarms by likelihood of relevance to the change. We evaluate Drake using Sparrow—a static analyzer that targets buffer-overrun, format-string, and integer-overflow errors—on a suite of ten widely-used C programs each comprising 13k–112k lines of code. Drake enables to discover all true bugs by inspecting only 30 alarms per benchmark on average, compared to 85 (3× more) alarms by the same ranking approach in batch mode, and 118 (4× more) alarms by a differential approach based on syntactic masking of alarms which also misses 4 of the 26 bugs overall.
Tue 25 JunDisplayed time zone: Tijuana, Baja California change
10:00 - 11:00 | Bug Finding & Testing IIPLDI Research Papers at 229AB Chair(s): Jens Palsberg University of California, Los Angeles (UCLA) | ||
10:00 20mTalk | Parser-Directed Fuzzing PLDI Research Papers Björn Mathis CISPA Helmholtz Center for Information Security, Rahul Gopinath CISPA Helmholtz Center for Information Security, Michaël Mera CISPA, Germany, Alexander Kampmann CISPA Helmholtz Center for Information Security, Matthias Höschele CISPA, Germany, Andreas Zeller Saarland University Media Attached | ||
10:20 20mTalk | Continuously Reasoning about Programs using Differential Bayesian Inference PLDI Research Papers Kihong Heo University of Pennsylvania, USA, Mukund Raghothaman University of Pennsylvania, USA, Xujie Si University of Pennsylvania, Mayur Naik University of Pennsylvania Media Attached | ||
10:40 20mTalk | Sparse Record and Replay with Controlled Scheduling PLDI Research Papers Christopher Lidbury Imperial College London, Alastair F. Donaldson Google and Imperial College London |