Abstract: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.