确定演化活动潜在影响的过程称之为波及效应分析.波及效应分析已经被公认为影响软件演化项目成败的一个关键因素.针对当前波及效应分析准确率不高、各方法存在固有缺陷的问题,提出了一种混合波及效应分析方法,该方法将动态分析方法与文本分析方法相结合,在保持高召回率的基础上,基于演化软件领域知识降低了噪声对分析结果的不利影响,约简了分析范围,提高了查准率.为验证方法的有效性,对开源软件jEdit分别使用动态、静态、基于文本、基于历史演化知识和混合分析方法进行波及效应分析.通过比对实验结果,表明混合波及效应分析方法具有较好的综合性能.
Ripple effect is defined as the process of determining potential effects to a subject system resulting from a proposed software evolving activity.Since software engineers perform different evolving activities to respond to different kinds of requirements,ripple effect analysis has been globally recognized as a key factor of affecting the success of software evolution projects.The precision of most existing ripple effect analysis methods is not as good as expectation and lots of methods have their inherent limitations.This paper proposes a hybrid analysis method which combines the dynamic and information retrieval based techniques to support ripple effect analysis in source code.This combination is able to keep the feature of high recall rate of dynamic method and reduce the adverse effects of noise and analysis scope by the domain knowledge which is derived from source code by information retrieval technique.In order to verify the effectiveness of the proposed approach,we have performed the ripple effect analysis and compared the analysis results produced by dynamic,static,text,historical evolving knowledge based methods with the proposed method on one open source software named jEdit.The results show that the hybrid ripple effect analysis method,across several cut points,provides statistically significant improvements in both precision and recall rate over these techniques used independently.