Skip to main navigation Skip to search Skip to main content

DiaPro: Unifying dynamic impact analyses for improved and variable cost-effectiveness

  • Dell SecureWorks
  • University of Notre Dame

Research output: Contribution to journalArticlepeer-review

19 Scopus citations

Abstract

Impact analysis not only assists developers with change planning and management, but also facilitates a range of other client analyses, such as testing and debugging. In particular, for developers working in the context of specific program executions, dynamic impact analysis is usually more desirable than static approaches, as it produces more manageable and relevant results with respect to those concrete executions. However, existing techniques for this analysis mostly lie on two extremes: either fast, but too imprecise, or more precise, yet overly expensive. In practice, both more cost-effective techniques and variable costeffectiveness trade-offs are in demand to fit a variety of usage scenarios and budgets of impact analysis. This article aims to fill the gap between these two extremes with an array of cost-effective analyses and, more broadly, to explore the cost and effectiveness dimensions in the design space of impact analysis. We present the development and evaluation of DiaPro, a framework that unifies a series of impact analyses, including three new hybrid techniques that combine static and dynamic analyses. Harnessing both static dependencies and multiple forms of dynamic data including method-execution events, statement coverage, and dynamic points-to sets, DiaPro prunes false-positive impacts with varying strength for variant effectiveness and overheads. The framework also facilitates an in-depth examination of the effects of various program information on the cost-effectiveness of impact analysis. We applied DiaPro to ten Java applications in diverse scales and domains, evaluating it thoroughly on both arbitrary and repository-based queries from those applications. We show that the three new analyses are all significantly more effective than existing alternatives while remaining efficient, and the DiaPro framework, as a whole, provides flexible cost-effectiveness choices for impact analysis with the best options for variable needs and budgets. Our study results also suggest that hybrid techniques tend to be much more cost-effective than purely dynamic approaches, in general, and that statement coverage has mostly stronger effects than dynamic points-to sets on the cost-effectiveness of dynamic impact analysis, while static dependencies have even stronger effects than both forms of dynamic data.

Original languageEnglish
Article number18
JournalACM Transactions on Software Engineering and Methodology
Volume25
Issue number2
DOIs
StatePublished - Apr 6 2016

Keywords

  • Costeffectiveness
  • Coverage
  • Dependence analysis
  • Impact analysis
  • Points-to

Fingerprint

Dive into the research topics of 'DiaPro: Unifying dynamic impact analyses for improved and variable cost-effectiveness'. Together they form a unique fingerprint.

Cite this