Font Size: a A A

The Clustering And Evolution Of Procedures Based On Fuzzy Formal Concept Analysis

Posted on:2010-04-21Degree:MasterType:Thesis
Country:ChinaCandidate:J Q XuFull Text:PDF
GTID:2208360275491464Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Evolution analysis of software system is a key contribute to program analysis and program understanding.System requirement and design evolution trend can be obtained through evolution analysis,thus supporting better understanding.It requires obtaining the high-level structural information of each version,establishing mapping relations and discovering differences between versions,and extracting evolution information on system's high-level requirement or design to do evolution analysis.This paper obtains high-level structures of each version through program clustering approach,which clusters program units relevant to certain requirement together.The method is useful for not only requirement model and system architecture recovery but also component extraction.Formal Concept Analysis(FCA) is a widely used clustering method,which deals with grammatical structure,program execution trace and informal information in source code,etc.Traditional FCA is constructed on one-valued attributes(with or without),and cannot deal with the fuzzy information. This paper proposes a fuzzy-FCA-based program clustering method for comprehension,which includes a process of fuzzy attributes collecting and a construction algorithm of fuzzy concept lattice,which can ensure to obtain a complete and non-redundant lattice.This paper further utilizes the program clustering method into software system evolution analysis,and proposes a software evolution analysis method based on tree matching.The method uses a relaxation tree matching algorithm based on concept similarity metrics to establish mapping relation among concepts and concept sub-lattices between concept lattices for different versions,and discovers various evolution types through structural difference analysis.Finally,the program clustering and evolution analysis method is applied on a commercial software—a bookstore management system.Experiment shows that it can effectively find information on high-level evolution,thus helping software developers understand evolution history of the software system and related design decision.
Keywords/Search Tags:Fuzzy FCA, Program Clustering, Code Analysis, Tree Matching, Version Differencing, Software Evolution, Program Comprehension
PDF Full Text Request
Related items