当前位置: X-MOL 学术J. Syst. Softw. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Learning software configuration spaces: A systematic literature review
Journal of Systems and Software ( IF 3.7 ) Pub Date : 2021-08-20 , DOI: 10.1016/j.jss.2021.111044
Juliana Alves Pereira 1, 2 , Mathieu Acher 1 , Hugo Martin 1 , Jean-Marc Jézéquel 1 , Goetz Botterweck 3 , Anthony Ventresque 4
Affiliation  

Most modern software systems (operating systems like Linux or Android, Web browsers like Firefox or Chrome, video encoders like ffmpeg, x264 or VLC, mobile and cloud applications, etc.) are highly configurable. Hundreds of configuration options, features, or plugins can be combined, each potentially with distinct functionality and effects on execution time, security, energy consumption, etc. Due to the combinatorial explosion and the cost of executing software, it is quickly impossible to exhaustively explore the whole configuration space. Hence, numerous works have investigated the idea of learning it from a small sample of configurations’ measurements. The pattern “sampling, measuring, learning” has emerged in the literature, with several practical interests for both software developers and end-users of configurable systems. In this systematic literature review, we report on the different application objectives (e.g., performance prediction, configuration optimization, constraint mining), use-cases, targeted software systems, and application domains. We review the various strategies employed to gather a representative and cost-effective sample. We describe automated software techniques used to measure functional and non-functional properties of configurations. We classify machine learning algorithms and how they relate to the pursued application. Finally, we also describe how researchers evaluate the quality of the learning process. The findings from this systematic review show that the potential application objective is important; there are a vast number of case studies reported in the literature related to particular domains or software systems. Yet, the huge variant space of configurable systems is still challenging and calls to further investigate the synergies between artificial intelligence and software engineering.



中文翻译:

学习软件配置空间:系统文献综述

大多数现代软件系统(Linux 或 Android 等操作系统,Firefox 或 Chrome 等网络浏览器,ffmpeg、x264 或 VLC 等视频编码器,移动和云应用程序等)都是高度可配置的。可以组合数百个配置选项、特性或插件,每个都可能具有不同的功能和对执行时间、安全性、能源消耗等的影响。 由于组合爆炸和执行软件的成本,很快就不可能彻底探索整个配置空间。因此,许多工作已经研究了从配置测量的小样本中学习它的想法。“采样、测量、学习”模式已经出现在文献中,对软件开发人员和可配置系统的最终用户都有一些实际的兴趣。例如、性能预测、配置优化、约束挖掘)、用例、目标软件系统和应用领域。我们回顾了用于收集具有代表性和成本效益的样本的各种策略。我们描述了用于测量配置的功能性和非功能性属性的自动化软件技术。我们对机器学习算法以及它们与所追求的应用程序的关系进行分类。最后,我们还描述了研究人员如何评估学习过程的质量。本系统评价的结果表明,潜在的应用目标很重要;在与特定领域或软件系统相关的文献中报告了大量案例研究。然而,

更新日期:2021-09-08
down
wechat
bug