Font Size: a A A

Software Evolution Analysis And Synchronous Evolution Method Based On Model Comparison

Posted on:2014-08-24Degree:MasterType:Thesis
Country:ChinaCandidate:Y SongFull Text:PDF
GTID:2208330434972513Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Software evolution plays a significant role during the whole life cycle of software system development. It is of great significance for understanding the large-scale, complex software systems that helping to fully understand and grasp the evolution of the entire software product, and make software maintenance decisions and carry out the maintenance activities is. Especially for some software products without docu-ments due to non-standard maintenance process, maintenance personnel are facing complex workload. The amount of evolution information is often too large, unregu-lated and difficult to grasp. Then it is even more important for software evolution analysis and information summary. In addition, there are also inconsistent evolution problems during the software maintenance process. Most software including service providers is evolving due to updating features or fixing bugs. And the service user al-so need to adapt to the service provider’evolution updates during their own evolution and spend high cost on co-evolution. As a result, it is important to understand the software evolution and co-evolution for supporting maintenance and co-evolution of large-scale, complex software systems.For the problem of software evolution analysis, this paper first extracts abstract syntax tree information of different versions of software system codes to build model and combines both syntax and semantic information to mapping the model of differ-ent version and compares them to fetch change information of the two versions. The existing work for code model comparison often ignores the code block and control flow information. My work extracts there information for deep analyzing to provide more useful change information for evolution analysis. Based on the change infor-mation from model comparison of different versions of the same software, I adopt ab-straction algorithm and relation analysis for further analysis and summarize the changes that occur during software evolution. The work can help software develop-ment and maintenance personnel to understand the software evolution at the macro level more easily and reduce the amount of change information provided to them.Then, for the co-evolution problem, the paper presents an approach to automati-cally adapting software applications to the evolution of their underlying databases based on the model comparison and aspect-oriented dynamic patching. This approach can reduce the duplicated work of the developers in the application during the soft-ware and database co-evolution.Finally, in order to verify the effectiveness of the method and practical signifi-cance, the paper presents two experiments including evolution analysis and the co-evolution method. The experiment results show that the evolution analysis can ex-tract and summary more useful change rules in a large number of change information and provide additional related information to stakeholders, and the co-evolution method makes excellent effect with both applicability and efficiency to meet the needs of users.
Keywords/Search Tags:Software Maintenance, Software Evolution, Model Differencing, Co-evolution
PDF Full Text Request
Related items