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 language | English |
|---|---|
| Article number | 7287799 |
| Pages (from-to) | 1114-1132 |
| Number of pages | 19 |
| Journal | IEEE Transactions on Reliability |
| Volume | 65 |
| Issue number | 3 |
| DOIs | |
| State | Published - 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
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver