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.
Wed 25 OctDisplayed time zone: Tijuana, Baja California change
13:30 - 15:00 | |||
13:30 22mTalk | Effective Interactive Resolution of Static Analysis Alarms OOPSLA Xin Zhang Massachusetts Institute of Technology, USA, Radu Grigore University of Kent, Xujie Si University of Pennsylvania, Mayur Naik University of Pennsylvania DOI | ||
13:52 22mTalk | Learning to Blame: Localizing Novice Type Errors with Data-Driven Diagnosis OOPSLA Eric Seidel University of California at San Diego, USA, Huma Sibghat University of California at San Diego, USA, Kamalika Chaudhuri University of California at San Diego, USA, Westley Weimer University of Virginia, USA, Ranjit Jhala University of California at San Diego, USA DOI | ||
14:15 22mTalk | Abridging Source Code OOPSLA Binhang Yuan Rice University, USA, Vijayaraghavan Murali Rice University, USA, Chris Jermaine Rice University DOI | ||
14:37 22mTalk | Evaluating and Improving Semistructured Merge OOPSLA Guilherme Cavalcanti Federal University of Pernambuco, Brazil, Paulo Borba Federal University of Pernambuco, Brazil, Paola Accioly Federal University of Pernambuco, Brazil DOI |