arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2104.07844cs.SE
收藏

学习具有和不具有规范的特征交互

Learning Feature Interactions With and Without Specifications

Seyedehzahra Khoshmanesh, Tuba Yavuz, Robyn R. Lutz

摘要:

产品线和高度可配置的系统中的功能可以以与开发人员意图相反的方式进行交互。目前的方法来识别这种意外的功能相互作用是昂贵的和不足的。为了解决这个问题,我们提出了一种新的方法来学习功能的相互作用,无论是在那些产品线的功能组合的约束规定,并在功能丰富的可配置系统,这种规范往往是不可用的。本文的贡献是使用程序分析从源代码中提取功能相关的学习模型,以检测不需要的功能交互。在功能约束的规格是不可用的,我们的方法推断使用功能相关的数据流依赖信息的约束。在三个软件产品线基准测试和一个高度可配置的系统上的实验结果表明,该方法是快速有效的。其贡献是通过自动检测新产品或版本中可能以不需要或无法识别的方式进行交互的功能组合来支持开发人员。这使得能够更好地理解潜在的交互作用,并确定应该一起测试的软件组件,因为它们的功能在某些配置中相互作用。

英文摘要:

Features in product lines and highly configurable systems can interact in ways that are contrary to developers' intent. Current methods to identify such unanticipated feature interactions are costly and inadequate. To address this problem we propose a new approach to learn feature interactions, both in those product lines where constraints on feature combinations are specified and in feature-rich configurable systems where such specifications often are not available. The contribution of the paper is to use program analysis to extract feature-relevant learning models from the source code in order to detect unwanted feature interactions. Where specifications of feature constraints are unavailable, our approach infers the constraints using feature-related data-flow dependency information. Evaluation in experiments on three software product line benchmarks and a highly configurable system shows that this approach is fast and effective. The contribution is to support developers by automatically detecting feature combinations in a new product or version that can interact in unwanted or unrecognized ways. This enables better understanding of latent interactions and identifies software components that should be tested together because their features interact in some configurations.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑