- 1
- 0
- 约5.25万字
- 约 14页
- 2017-09-13 发布于重庆
- 举报
一种基于模糊概念格和代码分析的软件演化分析方法*
许佳卿 彭鑫 赵文耘
(复旦大学计算机科学技术学院,上海,200433)
摘要 软件系统的演化分析是程序分析和程序理解的一个重要方面。通过演化分析可以了解系统需求和设计的演
化趋势,从而更好地理解系统的需求和设计决策。本文在前期工作所提出的基于模糊概念格的程序分析方法基
础上,进一步将其用于系统演化分析,提出了一种基于模糊概念格的软件演化分析方法。该方法利用基于概念
相似度度量的松弛树匹配的方法建立不同版本概念格中概念和概念子格之间的映射关系,在此基础上通过结构
差异分析来发现各种演化类型。实验表明,该方法能够有效地发现不同版本之间的高层演化信息,有助于开发
人员理解系统的演化历史以及相关的设计决策。
关键字 程序理解;软件演化;演化分析;代码分析;概念格;树匹配;版本差异比较
中图法分类号 TP311.5
An Evolution Analysis Method based on Fuzzy Concept Lattice
and Source Code Analysis
XU Jiaqing, PENG Xin, ZHAO Wenyun
(School of Computer Science, Fudan University, Shanghai 200433)
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. In this paper, we propose to further introduce our previous work of
program clustering based on fuzzy formal concept analysis into evolution analysis, and present 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. Our experimental study has
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.
Keywords Program Comprehension; Softwar
原创力文档

文档评论(0)