Font Size: a A A

Research On The Componentware Software Evolution History Recovery Based On Architecture Reverse

Posted on:2020-11-13Degree:MasterType:Thesis
Country:ChinaCandidate:H T YeFull Text:PDF
GTID:2428330575465059Subject:Engineering
Abstract/Summary:PDF Full Text Request
In Software Engineering,evolution,a substantive feature of software,refers to the process of software updating,running through the whole life of software.In general,it's essential for software to continuously evolve to meet changes in requirements,hardware and software environments.For the better management of software evolution,more and more software evolution management models have been proposed.However,most of the software are stored in the models in the unit of files or projects,and the models lack of the evolution history information of those software components,which makes the evolution process hard to be intuitively and effectively understood and managed.Therefore,it's worth to find the methods to recover the evolution histories of software and corresponding components.In this paper,software evolution binary tree is defined to express the evolution history of software and its components.And a method to recover the evolution binary tree of software and its components by software architecture reverse technology is proposed as well,including:1.recovering the(atomic)components of software system and software architecture(taken as a special composite component here)by software source codes and architecture reverse technology;2.measuring the three-dimensional attributes of atomic components(including the amount of classes,class files,and the sum of the sizes of the class files)and the five-dimensional attributes of composite components(including the amount of atomic components,the sum of the sizes of the atomic components,the sizes of architectures,the lines of effective code,and the number of java files);3.proposing an evolution binary tree construction algorithm,constructing evolution binary trees by the component attributes measured and the component information recovered.4.recovering the version number of every atomic component,then recovering the version relationship between the composite component and the atomic component by adding the atomic component into its corresponding composite component version.Finally,after analyzing the main factors that affect the construction of evolution binary trees according to two groups of experiment,some evolution binary trees are generated according to similarity thresholds with different attributes and some are generated in the basis of the combinations of different attributes by Bunch and ACDC(architecture reverse tools)respectively.Through the experiments of four open source software(Cassandra,Hbase,Hive,Openjpa),the best similarity thresholds affecting the construction of evolution binary trees and the best attribute combinations suitable for the software are realized.And it's also can be seen that the evolution binary trees of composite components recovered are extremely similar to their corresponding real trees in framework.Consequently,the method proposed is effective to recover the evolution histories of these open source software and that of their components.
Keywords/Search Tags:Software evolution, evolution history recovery, evolution binary tree, software architecture reverse
PDF Full Text Request
Related items