Font Size: a A A

Based On The Clustering Quality Of Software Modularization Program Evolution Monitoring Technology Research

Posted on:2013-07-07Degree:MasterType:Thesis
Country:ChinaCandidate:T M ZhuFull Text:PDF
GTID:2248330395950380Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
Modularity is extremely important for software development and evolution. Good modularity can improve the flexibility and comprehensibility of the software system, while bad modularity can cause expensive refactoring and software defects. Thus, modularity is often used as an important criterion for evaluating the quality of software design and implementation.Software usually undergoes a continuous process of evolution. In the long-term evolution, maintenance actions are made for specific evolution intent and objectives in different phases. These maintenance actions may positively or negatively affect the quality of design and implementation of a software system and result in the deviation of the modularity quality from the desired level. The trend of quality degradation caused by negative affections may accumulate and cause serious difficulties for future maintenance of the software if they were not addressed properly in time. Therefore, monitoring and controlling the trends of software quality evolution is essential for high-efficiency software maintenance.In this paper, we propose an approach for predicting the risk of refactoring of software modules, monitoring the degradation trends of software design in evolution and providing useful feedbacks for evolution decisions. The approach is based on the assumption that the deviations between different modularity views and their trends in evolution can be used to monitor the degradation trends of design. Currently, our approach considers three modularity views, namely package view, structural cluster view and semantic cluster view. Package view denotes the package structure reflecting the desired modularity view; Structural cluster view and semantic cluster view are the modularity views extracted from implementation by software clustering based on formal information and non-formal information, respectively. Then based on the three modularity views extracted from each version, our approach calculates the similarity between different views as the measurement of modularity deviations, and analyzes the deviation trends over a series of versions.We conduct an empirical study on three open-source systems, which confirms that the proposed refactoring predicting approach works well, and continuous monitoring of deviation trends of modularity views can provide useful feedbacks for future evolution decisions.
Keywords/Search Tags:Evolution Analysis, Software Quality Evolution, Software Modularity, Software Clustering, Refactoring Risk
PDF Full Text Request
Related items