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 Jul Times are displayed in time zone: Tijuana, Baja California change
15:30 - 17:10: Static AnalysisTechnical Papers at Bren 1414 Chair(s): William G.J. HalfondUniversity of Southern California | |||
15:30 - 15:55 Talk | Just-in-Time Static Analysis Technical Papers Lisa Nguyen Quang DoFraunhofer IEM, Karim AliUniversity of Alberta, Benjamin LivshitsImperial College London, UK, Eric BoddenHeinz Nixdorf Institut, Paderborn University and Fraunhofer IEM, Justin SmithNorth Carolina State University, Emerson Murphy-HillNorth Carolina State University DOI | ||
15:55 - 16:20 Talk | Refining Interprocedural Change-Impact Analysis using Equivalence Relations Technical Papers Alex GyoriUniversity of Illinois at Urbana-Champaign, USA, Shuvendu LahiriMicrosoft Research, Nimrod PartushTechnion DOI | ||
16:20 - 16:45 Talk | Boosting the Precision of Virtual Call Integrity Protection with Partial Pointer Analysis for C++ Technical Papers Xiaokang Fan, Yulei Sui, Xiangke LiaoNational University of Defense Technology, China, Jingling XueUNSW Australia DOI | ||
16:45 - 17:10 Talk | Lightweight Detection of Physical Unit Inconsistencies without Program Annotations Technical Papers John-Paul OreUniversity of Nebraska-Lincoln, USA, Sebastian ElbaumUniversity of Nebraska-Lincoln, USA, Carrick DetweilerUniversity of Nebraska-Lincoln, USA DOI |