一句话:提出动态分析工具 GenTree,用决策树从极少量配置样本中高效、精确地推断可配置软件中的配置项交互。
可配置软件系统为用户提供了灵活性,却使开发、测试与分析变得更加困难:配置项之间的交互能够紧凑地刻画庞大的配置集合,但完整枚举配置空间通常不可行。本文介绍并演示动态分析工具 GenTree 的实现细节与使用方式。GenTree 通过对配置空间进行采样、运行程序获取运行时行为,并借助决策树学习配置选项与行为之间的关系,从而高效推断出精确的配置项交互;这些交互可进一步用于发现配置相关的缺陷等有趣性质。作者在覆盖 4 种语言的 17 个可配置系统上开展了实验,结果表明 GenTree 只需访问配置空间中极小的一部分,就能高效地找到精确的交互。GenTree 及其数据集均已开源。
In this paper, we demonstrate the implementation details and usage of GenTree, a dynamic analysis tool for learning a program’s interactions. Configurable software systems, while providing more flexibility to the users, are harder to develop, test, and analyze. GenTree can efficiently analyze the interactions among configuration options in configurable software. These interactions compactly represent large sets of configurations and thus allow us to efficiently analyze and discover interesting properties (e.g., bugs) in configurable software. Our experiments on 17 configurable systems spanning 4 languages show that GenTree efficiently finds precise interactions using a tiny fraction of the configuration space. GenTree and its dataset are open source and available at https://github.com/unsat/gentree and a video demo is at https://youtu.be/x3eqUflvlN8.
DOI 原文 ·
@inproceedings{paperbot6527,
title = {GenTree: Inferring Configuration Interactions using Decision Trees},
author = {KimHao Nguyen and ThanhVu Nguyen},
booktitle = {ASE},
year = {2021},
doi = {10.1109/ase51524.2021.9678676}
}