Skip to main navigation Skip to search Skip to main content

Prioritizing Change-Impact Analysis via Semantic Program-Dependence Quantification

  • University of Notre Dame

Research output: Contribution to journalArticlepeer-review

12 Scopus citations

Abstract

Software is constantly changing. To ensure the quality of this process, when preparing to change a program, developers must first identify the main consequences and risks of modifying the program locations they intend to change. This activity is called change-impact analysis. However, existing impact analysis suffers from two major problems: coarse granularity and large size of the resulting impact sets. Finer-grained analyses such as slicing give more detailed impact sets which, however, are also even larger in size. While various impact-set reduction approaches have been proposed at different levels of granularity, the challenge persists as very-large impact sets are still produced, impeding the adoption of impact analysis due to the great costs of inspecting those impact sets. To address these challenges, we present a novel dynamic-analysis technique called SensA which combines sensitivity analysis and execution differencing. SensA not only provides fine-grained (statement-level) impact sets but also prioritizes potential impacts via semantic-dependence quantification for program slices. We evaluated the benefits of impact prioritization using SensA with respect to static and dynamic forward slicing via an extensive empirical study of open-source Java applications and three case studies. Our results show that SensA can offer much better cost-effectiveness than slicing in assisting developers with impact inspection and fault cause-effect understanding.

Original languageEnglish
Article number7287799
Pages (from-to)1114-1132
Number of pages19
JournalIEEE Transactions on Reliability
Volume65
Issue number3
DOIs
StatePublished - Sep 2016

Keywords

  • Dependence quantification
  • execution differencing
  • impact prediction
  • impact prioritization
  • sensitivity analysis

Fingerprint

Dive into the research topics of 'Prioritizing Change-Impact Analysis via Semantic Program-Dependence Quantification'. Together they form a unique fingerprint.

Cite this