当对软件进行修改时,肯定会对软件的其他部分造成一些潜在的影响,从而带来软件的不一致性;如果该修改所带来的影响波及到整个系统,可能就需要考虑其他修改方案来实施该修改.因此在实施修改之前,需要对所提出的修改方案进行修改分析,从而确定是否需要进行修改或者选择什么方案进行修改.基于形式概念分析技术,提出了一种紧凑的面向对象程序中间表示一一类与方法依赖格(LoCMD);然后,基于LoCMD,提出了一种修改分析模型,该模型包含了修改实施前一系列软件修改分析活动,包括与修改相关的程序理解、影响分析以及修改评估.实验结果表明了所提出的LoCMD和修改模型的有效性,从而有助于维护人员对所提出的修改建议做出正确的理解与决策.
Software progression is a fundamental ingredient of software. When changes are made to software, they will inevitably have some unpredicted effects and may cause inconsistencies with other parts of the original software. If the effects induced by the changes affect the whole system, an alternative change proposal may be required instead. Hence, change analysis is necessary before change implementation. This paper presented a compact intermediate representation for object oriented programs based on formal concept analysis--lattice of class and method dependence (LoCMD). Then, based on LoCMD, the study proposes a change analysis model, which includes some activities before change implementation, i.e., program comprehension, impact analysis and change assessment. The empirical study demonstrates the effectiveness of the representation and the change analysis model, and will help maintainers gain a better understanding about the change proposal.