Multi-objective software performance optimisation at the architecture level using randomised search rules

Abstract Architecture-based software performance optimisation can help to find potential performance problems and mitigate their negative effects at an early stage. To automate this optimisation process, rule-based and metaheuristic-based performance optimisation methods have been proposed. However, existing rule-based methods explore a limited search space, potentially excluding optimal or near-optimal solutions. Most of current metaheuristic-based methods ignore existing practical knowledge of performance improvement, and lead to solutions that are not easily explicable to humans. To address these problems, we propose a novel approach for performance optimisation at the software architecture level named Multiobjective performance Optimisation based on Randomised search rulEs (MORE). First, we design randomised search rules (MORE-R) to provide explanation without parameters while benefiting from existing practical knowledge of performance improvement. Second, based on all possible composite applications of MORE-R, an explicable multi-objective optimisation problem (MORE-P) is defined to enlarge search space and enable solutions explicable to architectural stakeholder. Third, a multi-objective evolutionary algorithm (MORE-EA) with an introduced do-nothing rule, innovative encoding and repair mechanism is designed to effectively solve MORE-P. The experiments show that MORE is able to achieve more explicable and higher quality solutions than two state-of-the-art techniques. They also demonstrate the benefits of integrating search-based software engineering approaches with practical knowledge.

[1]  Raffaela Mirandola,et al.  A Hybrid Approach for Multi-attribute QoS Optimisation in Component Based Software Systems , 2010, QoSA.

[2]  Sancho Salcedo-Sanz,et al.  A survey of repair methods used as constraint handling techniques in evolutionary algorithms , 2009, Comput. Sci. Rev..

[3]  Laurent Pautet,et al.  Automatic selection and composition of model transformations alternatives using evolutionary algorithms , 2015, ECSA Workshops.

[4]  Steffen Becker,et al.  An industrial case study on quality impact prediction for evolving service-oriented software , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[5]  El-Ghazali Talbi,et al.  A multiobjective genetic algorithm for radio network optimization , 2000, Proceedings of the 2000 Congress on Evolutionary Computation. CEC00 (Cat. No.00TH8512).

[6]  Michel R. V. Chaudron,et al.  New degrees of freedom in metaheuristic optimization of component-based systems architecture: Architecture topology and load balancing , 2015, Sci. Comput. Program..

[7]  Vittorio Cortellessa,et al.  Experimenting the Influence of Numerical Thresholds on Model-based Detection and Refactoring of Performance Antipatterns , 2013, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[8]  Martin J. Shepperd,et al.  Estimating Software Project Effort Using Analogies , 1997, IEEE Trans. Software Eng..

[9]  Mirco Tribastone Efficient optimization of software performance models via parameter-space pruning , 2014, ICPE.

[10]  Steffen Becker,et al.  Quantitative Evaluation of Model-Driven Performance Analysis and Simulation of Component-Based Architectures , 2015, IEEE Transactions on Software Engineering.

[11]  Mark Harman,et al.  Multi-objective Software Effort Estimation , 2016, 2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE).

[12]  Lothar Thiele,et al.  Multiobjective evolutionary algorithms: a comparative case study and the strength Pareto approach , 1999, IEEE Trans. Evol. Comput..

[13]  Heiko Koziolek,et al.  PerOpteryx: automated application of tactics in multi-objective software architecture optimization , 2011, QoSA-ISARCS '11.

[14]  Xin Yao,et al.  Surrogate Model Assisted Multi-objective Differential Evolution Algorithm for Performance Optimization at Software Architecture Level , 2017, SEAL.

[15]  Laurent Pautet,et al.  Multi-objective exploration of architectural designs by composition of model transformations , 2019, Software & Systems Modeling.

[16]  Maryam Amoozegar,et al.  A Multi-Objective Approach to Model-Driven Performance Bottlenecks Mitigation , 2015 .

[17]  Steffen Becker,et al.  Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms , 2010, WOSP/SIPEW '10.

[18]  Raffaela Mirandola,et al.  Hybrid multi-attribute QoS optimization in component based software systems , 2013, J. Syst. Softw..

[19]  Kalyanmoy Deb,et al.  Muiltiobjective Optimization Using Nondominated Sorting in Genetic Algorithms , 1994, Evolutionary Computation.

[20]  Vittorio Cortellessa,et al.  Guilt-based handling of software performance antipatterns in palladio architectural models , 2014, J. Syst. Softw..

[21]  Elena Navarro,et al.  International Journal of Information Technology& Decision Making Antipatterns for Architectural Knowledge Management , 2011 .

[22]  Xin Yao,et al.  How to make best use of cross-company data in software effort estimation? , 2014, ICSE.

[23]  Eila Niemelä,et al.  Survey of reliability and availability prediction methods from the viewpoint of software architecture , 2007, Software & Systems Modeling.

[24]  Swapna S. Gokhale,et al.  Architecture-Based Software Reliability Analysis: Overview and Limitations , 2007, IEEE Transactions on Dependable and Secure Computing.

[25]  Mohammad Abdollahi Azgomi,et al.  SQME: a framework for modeling and evaluation of software architecture quality attributes , 2018, Software & Systems Modeling.

[26]  Lionel C. Briand,et al.  A practical guide for using statistical tests to assess randomized algorithms in software engineering , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[27]  Michael T. M. Emmerich,et al.  An evolutionary multiobjective optimization approach to component-based software architecture design , 2011, 2011 IEEE Congress of Evolutionary Computation (CEC).

[28]  Michel R. V. Chaudron,et al.  Quality-driven optimization of system architecture: Industrial case study on an automotive sub-system , 2013, J. Syst. Softw..

[29]  Heiko Koziolek,et al.  Architecture-Based Reliability Prediction with the Palladio Component Model , 2012, IEEE Transactions on Software Engineering.

[30]  Aniruddha S. Gokhale,et al.  Applying Model Transformations to Optimizing Real-Time QoS Configurations in DRE Systems , 2009, QoSA.

[31]  Ramin Etemadi Idgahi Quality-driven multi-objective optimization of software architecture design: method, tool, and application , 2014 .

[32]  R. Grissom,et al.  Effect sizes for research: A broad practical approach. , 2005 .

[33]  C. U. Smith More New Software Performance Antipatterns : Even More Ways to Shoot Yourself in the Foot , 2000 .

[34]  Marco Laumanns,et al.  Performance assessment of multiobjective optimizers: an analysis and review , 2003, IEEE Trans. Evol. Comput..

[35]  Antonio Puliafito,et al.  From UML to Petri Nets: The PCM-Based Methodology , 2011, IEEE Transactions on Software Engineering.

[36]  Vittorio Cortellessa,et al.  Performance-driven software model refactoring , 2017, Inf. Softw. Technol..

[37]  Eltjo R. Poort,et al.  Architecting in a Solution Costing Context: Early Experiences with Solution-Based Estimating , 2015, 2015 12th Working IEEE/IFIP Conference on Software Architecture.

[38]  Iman Avazpour,et al.  Robust ArcheOpterix: Architecture optimization of embedded systems under uncertainty , 2012, 2012 Second International Workshop on Software Engineering for Embedded Systems (SEES).

[39]  Xin Yao,et al.  An evolutionary algorithm for performance optimization at software architecture level , 2015, 2015 IEEE Congress on Evolutionary Computation (CEC).

[40]  Lothar Thiele,et al.  A Tutorial on the Performance Assessment of Stochastic Multiobjective Optimizers , 2006 .

[41]  Ralf Reussner,et al.  Optimising multiple quality criteria of service-oriented software architectures , 2009, QUASOSS '09.

[42]  Vittorio Cortellessa,et al.  A model-driven approach to catch performance antipatterns in ADL specifications , 2017, Inf. Softw. Technol..

[43]  Hui Li,et al.  SLA-driven planning and optimization of enterprise applications , 2010, WOSP/SIPEW '10.

[44]  Jing Xu,et al.  Rule-based automatic software performance diagnosis and improvement , 2008, WOSP '08.

[45]  Vittorio Cortellessa,et al.  An approach for modeling and detecting software performance antipatterns based on first-order logics , 2012, Software & Systems Modeling.

[46]  Mirco Tribastone,et al.  A fluid model for layered queueing networks , 2013, IEEE Transactions on Software Engineering.

[47]  Kalyanmoy Deb,et al.  Multi-objective Optimisation Using Evolutionary Algorithms: An Introduction , 2011, Multi-objective Evolutionary Optimisation for Product Design and Manufacturing.

[48]  Samuel Kounev,et al.  Performance Modeling and Evaluation of Distributed Component-Based Systems Using Queueing Petri Nets , 2006, IEEE Transactions on Software Engineering.

[49]  Lars Grunske,et al.  Software Architecture Optimization Methods: A Systematic Literature Review , 2013, IEEE Transactions on Software Engineering.

[50]  Antonio J. Nebro,et al.  jMetal: A Java framework for multi-objective optimization , 2011, Adv. Eng. Softw..

[51]  Michel R. V. Chaudron,et al.  Varying Topology of Component-Based System Architectures Using Metaheuristic Optimization , 2012, 2012 38th Euromicro Conference on Software Engineering and Advanced Applications.

[52]  Baowen Xu,et al.  Speedoo: Prioritizing Performance Optimization Opportunities , 2018, 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE).

[53]  Steffen Becker,et al.  The Palladio component model for model-driven performance prediction , 2009, J. Syst. Softw..

[54]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[55]  Peng Ye,et al.  A Multi-objective Evolutionary Algorithm for Rule-based Performance Optimization at Software Architecture Level , 2015, GECCO.

[56]  Heiko Koziolek,et al.  Reliability prediction for fault-tolerant software architectures , 2011, QoSA-ISARCS '11.

[57]  Stephen Gilmore,et al.  Scalable Differential Analysis of Process Algebra Models , 2012, IEEE Transactions on Software Engineering.

[58]  Mattia D'Emidio,et al.  EASIER: An Evolutionary Approach for Multi-objective Software ArchItecturE Refactoring , 2018, 2018 IEEE International Conference on Software Architecture (ICSA).

[59]  Kenneth DeJong Evolutionary computation: a unified approach , 2007, GECCO.

[60]  R. Slot,et al.  UvA-DARE ( Digital Academic Repository ) A method for valuing architecture-based business transformation and measuring the value of solutions architecture , 2010 .

[61]  Heiko Koziolek,et al.  Automatic, Model-Based Software Performance Improvement for Component-based Software Designs , 2009, Electron. Notes Theor. Comput. Sci..