Configurable software systems can be tuned for better performance. Leveraging on some Pareto optimizers, recent work has shifted from tuning for a single, time-related performance objective to two intrinsically different objectives that assess distinct performance aspects of the system, each with varying aspirations. Before we design better optimizers, a crucial engineering decision to make therein is how to handle the performance requirements with clear aspirations in the tuning process. For this, the community takes two alternative optimization models: either quantifying and incorporating the aspirations into the search objectives that guide the tuning, or not considering the aspirations during the search but purely using them in the later decision-making process only. However, despite being a crucial decision that determines how an optimizer can be designed and tailored, there is a rather limited understanding of which optimization model should be chosen under what particular circumstance, and why. In this paper, we seek to close this gap. Firstly, we do that through a review of over 426 papers in the literature and 14 real-world requirements datasets. Drawing on these, we then conduct a comprehensive empirical study that covers 15 combinations of the state-of-the-art performance requirement patterns, four types of aspiration space, three Pareto optimizers, and eight real-world systems/environments, leading to 1,296 cases of investigation. We found that (1) the realism of aspirations is the key factor that determines whether they should be used to guide the tuning; (2) the given patterns and the position of the realistic aspirations in the objective landscape are less important for the choice, but they do matter to the extents of improvement; (3) the available tuning budget can also influence the choice for unrealistic aspirations but it is insignificant under realistic ones.
翻译:可以调整可配置的软件系统,使其达到更好的性能。利用一些Pareto优化器,最近的工作已经从调整单一的、与时间有关的性能目标转向两个内在的不同目标,即评估系统不同的性能方面,每个目标都有不同的愿望。在我们设计更好的优化器之前,一个关键的工程决定是如何处理业绩要求,在调试过程中有明确的愿望。为此,社区采取两种替代优化模式:要么量化愿望并将其纳入指导调适的搜索目标,要么在搜索过程中不考虑愿望,而只是在后来的决策过程中仅使用这些愿望。然而,尽管这是一项至关重要的决定,决定如何设计和调整系统不同的性业绩方面,每个目标都有不同的期望。在我们设计更好的优化软件之前,一个至关重要的工程决定是如何处理业绩要求。 在本文中,我们试图缩小这一差距。首先,我们通过审查文献中的超过426份文件和14个真实世界需求数据集来做到这一点。 利用这些数据,我们随后进行一项全面的经验研究,涵盖状态组合,但只是仅仅在后来的决策过程中加以利用。然而,尽管这是一个关键决定如何设计优化的优化的优化的优化的性业绩要求模式,但对于8个关键的预算模式,我们发现, 选择是实际空间系统中的第4种选择。