How to Evaluate Solutions in Pareto-based Search-Based Software Engineering? A Critical Review and Methodological Guidance
arXiv:2002.09040 · doi:10.1109/TSE.2020.3036108
Abstract
With modern requirements, there is an increasing tendency of considering multiple objectives/criteria simultaneously in many Software Engineering (SE) scenarios. Such a multi-objective optimization scenario comes with an important issue -- how to evaluate the outcome of optimization algorithms, which typically is a set of incomparable solutions (i.e., being Pareto non-dominated to each other). This issue can be challenging for the SE community, particularly for practitioners of Search-Based SE (SBSE). On one hand, multi-objective optimization could still be relatively new to SE/SBSE researchers, who may not be able to identify the right evaluation methods for their problems. On the other hand, simply following the evaluation methods for general multi-objective optimization problems may not be appropriate for specific SE problems, especially when the problem nature or decision maker's preferences are explicitly/implicitly available. This has been well echoed in the literature by various inappropriate/inadequate selection and inaccurate/misleading use of evaluation methods. In this paper, we first carry out a systematic and critical review of quality evaluation for multi-objective optimization in SBSE. We survey 717 papers published between 2009 and 2019 from 36 venues in seven repositories, and select 95 prominent studies, through which we identify five important but overlooked issues in the area. We then conduct an in-depth analysis of quality evaluation indicators/methods and general situations in SBSE, which, together with the identified issues, enables us to codify a methodological guidance for selecting and using evaluation methods in different SBSE scenarios.
This paper has been accepted by IEEE Transactions on Software Engineering, available as full OA: https://ieeexplore.ieee.org/document/9252185
References in corpus (6)
- Many-Objective Software Remodularization using NSGA-III
- Tuning for Software Analytics: is it Really Necessary?
- FEMOSAA: Feature Guided and Knee Driven Multi-Objective Optimization for Self-Adaptive Software
- Self-Adaptive Trade-off Decision Making for Autoscaling Cloud-Based Services
- How to Read Many-Objective Solution Sets in Parallel Coordinates
- Understanding the Automated Parameter Optimization on Transfer Learning for CPDP: An Empirical Study
Cited by in corpus (12)
- The Weights can be Harmful: Pareto Search versus Weighted Search in Multi-Objective Search-Based Software Engineering
- Multi-Objectivizing Software Configuration Tuning (for a single performance concern)
- Do Performance Aspirations Matter for Guiding Software Configuration Tuning?
- Does Configuration Encoding Matter in Learning Software Performance? An Empirical Study on Encoding Schemes
- Synergizing Domain Expertise with Self-Awareness in Software Systems: A Patternized Architecture Guideline
- Adapting Multi-objectivized Software Configuration Tuning
- Automated Misconfiguration Repair of Configurable Cyber-Physical Systems with Search: an Industrial Case Study on Elevator Dispatching Algorithms
- Quality Attributes Optimization of Software Architecture: Research Challenges and Directions
- Multi-Objective Graph Heuristic Search for Terrestrial Robot Design
- Simulator Ensembles for Trustworthy Autonomous Driving Systems Testing
- On the Role of Search Budgets in Model-Based Software Refactoring Optimization
- Differentially Evolving Memory Ensembles: Pareto Optimization based on Computational Intelligence for Embedded Memories on a System Level