2005 · 69 citations · 22 references
ComputingComputer SciencePredictive AnalyticsProgramming LanguagesSoftware EngineeringChange Impact AnalysisControl-flow AnalysisData-flow AnalysisSoftware EvolutionSoftware MaintenanceSoftware ModelingControl Flow Graph AnalysisControl Flow GraphsExperimental Study DesignImpact AnalysisMaintenanceProgram Change Impact AnalysisSoftware Change Impact AnalysisSoftware Impact Analysis
Change impact analysis plays an important role in software maintenance. It allows developers assessing the possible effects of a change. We present, in this paper, a new static technique supporting software change impact analysis. The technique uses a new model based on control call graphs. It captures the control related to components calls and generates the different control flow paths in a program. The generated paths, in a compacted form, are used to identify the potential set of components that may be affected by a given change. Furthermore, the tool developed can be used to perform predictive impact analysis. It can also be used to support regression testing. We performed an experimental study on several Java programs. The reported results show that the proposed technique can predict impact sets that are more accurate than those obtained using traditional approaches based on call graphs.
22
Xiaoxia Ren, Fenil Shah, Frank Tip et al. · 2004 · 381 citations
Interprocedural slicing using dependence graphs
Susan Horwitz, Thomas Reps, David Binkley · ACM SIGPLAN Notices · 2004 · 376 citations
Dynamic slicing of computer programs
Bogdan Korel · Journal of Systems and Software · 1990 · 248 citations