Write a Blog >>
Sun 22 - Fri 27 October 2017 Vancouver, Canada
Wed 25 Oct 2017 13:30 - 13:52 at Regency C - Tools Chair(s): Joshua Sunshine

We propose an interactive approach to resolving static analysis alarms. Our approach synergistically combines a sound but imprecise analysis with precise but unsound heuristics, through user interaction. In each iteration, it solves an optimization problem to find a set of questions for the user such that the expected payoff is maximized. We have implemented our approach in a tool, URSA, that enables interactive alarm resolution for any analysis specified in the declarative language Datalog. We demonstrate the effectiveness of URSA on a state-of-the-art static datarace analysis using a suite of 8 Java programs comprising 41-194 KLOC each. URSA is able to eliminate 73.7% of the false alarms per benchmark with an average payoff of 12X per question. Moreover, URSA prioritizes user effort effectively by posing questions that yield higher payoffs earlier.