Title
Evaluating Software Evolution Based on Pattern Mining.
Abstract
Software systems need constantly maintaining or adapting to continuously meet the changing business requirements. The process of maintenance or adaptation is software evolution. In general, people hope to evaluate software evolution for guiding software maintenances. By evaluating how well software maintenances follow the positive evolutionary trends, developers can assert whether it is necessary to redevelop or even refactor newly released or maintained versions of software to enforce the software evolution back on track. In this paper, we propose an approach to evaluating software evolution based on API usage patterns, which are the accumulations and summarizations of peopleu0027s software design and development experience. In the approach, better software evolution is considered as the process of reusing more usage patterns, and software evolution is evaluated based on how well software reuses usage patterns in the process of evolution. Our work consists of three parts. First, we use a graph-based algorithm to mine usage patterns from different open-source software. Second, we use the patterns to evaluate the evolutions of software systems and accordingly analyze the important changes during software evolution. Third, we compare different approaches and analyze which approach can reflect the process of software evolution accurately. Our experiments on several open source programs show that our approach is more effective than other approaches on identifying the great change events during software evolution.
Year
Venue
Field
2017
Internetware
Personal software process,Software engineering,Systems engineering,Software peer review,Software system,Engineering,Software evolution,Software construction,Software development,Software sizing,Social software engineering
DocType
Citations 
PageRank 
Conference
0
0.34
References 
Authors
1
3
Name
Order
Citations
PageRank
Xiaohui Zhou1279.21
Xinyue Zhang22420.06
Wenpin Jiao310218.68