Software model optimization is the task of automatically generate design alternatives, usually to improve quality aspects of software that are quantifiable, like performance and reliability. In this context, multi-objective optimization techniques have been applied to help the designer find suitable trade-offs among several non-functional properties. In this process, design alternatives can be generated through automated model refactoring, and evaluated on non-functional models. Due to their complexity, this type of optimization tasks require considerable time and resources, often limiting their application in software engineering processes. In this paper, we investigate the effects of using a search budget, specifically a time limit, to the search for new solutions. We performed experiments to quantify the impact that a change in the search budget may have on the quality of solutions. Furthermore, we analyzed how different genetic algorithms (i.e., NSGA-II, SPEA2, and PESA2) perform when imposing different budgets. We experimented on two case studies of different size, complexity, and domain. We observed that imposing a search budget considerably deteriorates the quality of the generated solutions, but the specific algorithm we choose seems to play a crucial role. From our experiments, NSGA-II is the fastest algorithm, while PESA2 generates solutions with the highest quality. Differently, SPEA2 is the slowest algorithm, and produces the solutions with the lowest quality.
翻译:软件模型优化是自动生成设计替代物的任务,通常是为了改进可量化的软件的质量方面,例如性能和可靠性。在这方面,应用了多目标优化技术,以帮助设计者在几个不起作用的属性中找到适当的权衡。在这个过程中,设计替代物可以通过自动模型重新设定产生,并根据不起作用的模型进行评估。由于其复杂性,这种优化任务需要大量的时间和资源,往往限制其在软件工程流程中的应用。在本文件中,我们调查了使用搜索预算,特别是时限,以寻找新的解决方案的影响。我们进行了实验,以量化搜索预算的变化可能对解决方案质量产生的影响。此外,我们分析了不同的基因算法(即NSGA-II、SPEA2和PESA2)在实行不同的预算时是如何运行的。我们试验了两个不同规模、复杂程度和领域的案例研究。我们发现,实施搜索预算会大大降低所产生解决方案的质量,但我们选择的具体算法似乎发挥着关键的作用。从我们的实验中, NSGA-II是最快的、最慢质量的、最慢质量的和最高级的运算法。