Architecture-based software performance optimization can not only significantly save time but also reduce cost. A few rule-based performance optimization approaches at software architecture (SA) level have been proposed in recent years. However, in these approaches, the number of rules being used and the order of application of each rule are uncertain in the optimization process and these uncertainties have not been fully considered so far. As a result, the search space for performance improvement is limited, possibly excluding optimal solutions. Aiming to solve this problem, we propose an evolutionary algorithm for rule-based performance optimization at SA level named EA4PO. First, the rule-based software performance optimization at SA level is abstracted into a mathematical model called RPOM. RPOM can precisely characterize the mathematical relation between the usage of rules and the optimal solution in the performance improvement space. Then, a framework named RSEF is designed to support the execution of rule sequences. Based on RPOM and RSEF, EA4PO is proposed to find the optimal performance improvement solution. In EA4PO, an adaptive mutation operator is designed to guide the search direction by fully considering heuristic information of rule usage during the evolution. Finally, the effectiveness of EA4PO is validated by comparing EA4PO with a typical rule-based approach. The results show that EA4PO can explore a relatively larger space and get better solutions. © 2015 IEEE.
|Title of host publication
|2015 IEEE Congress on Evolutionary Computation, CEC 2015 - Proceedings
|Institute of Electrical and Electronics Engineers Inc.
|Number of pages
|Published - May 2015
Bibliographical noteThis work is supported by the National Natural Science Foundation of China (No. 61305079, 61305086, 61203306, 61370078), the project of preeminent youth fund of Fujian province(JA12471), outstanding young teacher training fund of Fujian Normal University (No.fjsdjk2012083), the open fund of State Key Laboratory of Software Engineering(No. SKLSE 2014-10-02), and EPSRC Grant No. EP/J017515/1.
- evolutionary algorithm
- performance analysis
- performance optimization algorithm
- search-based software engineering
- software architecture