Refining Interprocedural Change-Impact Analysis using Equivalence Relations
Change-impact analysis (CIA) is the task of determining the set of program elements impacted by a program change. Precise CIA has great potential to avoid expensive testing and code reviews for (parts of) changes that are refactorings (semantics-preserving). However most statement-level CIA techniques suffer from imprecision as they do not incorporate the semantics of the change. We formalize the notion of change impact in terms of the trace semantics of two program versions. We show how to leverage equivalence relations to make dataflow-based CIA aware of the change semantics, thereby improving precision in the presence of semantics-preserving changes. We propose an anytime algorithm that allows applying costly equivalence-relation inference incrementally to refine the set of impacted statements. We have implemented a prototype in SymDiff, and evaluated it on 322 real-world changes from open-source projects and benchmark programs used by prior research. The evaluation results show an average 35% improvement in the set of impacted statements compared to standard dataflow-based techniques.
Wed 12 JulDisplayed time zone: Tijuana, Baja California change
15:30 - 17:10 | Static AnalysisTechnical Papers at Bren 1414 Chair(s): William G.J. Halfond University of Southern California | ||
15:30 25mTalk | Just-in-Time Static Analysis Technical Papers Lisa Nguyen Quang Do Fraunhofer IEM, Karim Ali University of Alberta, Benjamin Livshits Imperial College London, UK, Eric Bodden Heinz Nixdorf Institut, Paderborn University and Fraunhofer IEM, Justin Smith North Carolina State University, Emerson Murphy-Hill North Carolina State University DOI | ||
15:55 25mTalk | Refining Interprocedural Change-Impact Analysis using Equivalence Relations Technical Papers Alex Gyori University of Illinois at Urbana-Champaign, USA, Shuvendu K. Lahiri Microsoft Research, Nimrod Partush Technion DOI | ||
16:20 25mTalk | Boosting the Precision of Virtual Call Integrity Protection with Partial Pointer Analysis for C++ Technical Papers Xiaokang Fan , Yulei Sui , Liao Xiangke National University of Defense Technology, China, Jingling Xue UNSW Australia DOI | ||
16:45 25mTalk | Lightweight Detection of Physical Unit Inconsistencies without Program Annotations Technical Papers John-Paul Ore University of Nebraska-Lincoln, USA, Sebastian Elbaum University of Nebraska-Lincoln, USA, Carrick Detweiler University of Nebraska-Lincoln, USA DOI |