An evolution analysis method based on fuzzy concept lattice and source code analysis

XU Jia-Qing,Xin Peng,ZHAO Wen-Yun
DOI: https://doi.org/10.3724/SP.J.1016.2009.01832
2009-01-01
Jisuanji Xuebao/Chinese Journal of Computers
Abstract:Evolution analysis of software systems is one of the important practice in program analysis and comprehension. By evolution analysis, one can find out the trends of the requirement and design evolutions, thus better understand the requirement and design decisions. This paper introduces the authors' previous work of program clustering based on fuzzy formal concept analysis into evolution analysis, and presents an evolution analysis method based on fuzzy concept lattice and source code analysis. The method first constructs a fuzzy concept lattices for each software version, and then establishes concept mappings between different concept lattices by using a relaxation tree matching algorithm based on concept similarity. Based on the fuzzy concept lattices and concept mappings, the method can help identify various evolution types through structural difference analysis. Experimental results have shown that the method can effectively discover high-level evolution information among different versions, thus help the developers better understand the evolution history and related design decisions.
What problem does this paper attempt to address?