arXivDaily arXiv每日学术速递 周一至周五更新
北美退伍军人节(Veterans Day),12 日无更新
arXiv 2102.06872cs.SE
收藏

GenTree:使用决策树学习可配置软件的交互

GenTree: Using Decision Trees to Learn Interactions for Configurable Software

KimHao Nguyen, ThanhVu Nguyen

摘要:

现代软件系统越来越多地被设计为高度可配置的,这增加了灵活性,但可能使程序更难开发、测试和分析,例如,如何设置配置选项以到达某些位置,什么是一个有趣的或有缺陷的程序行为的配置空间的特征?我们介绍了Gentree,一个新的动态分析,自动学习程序的相互作用-逻辑公式,描述如何配置选项设置映射到代码覆盖率。GenTree使用迭代细化方法,在小样本配置下运行程序以获得覆盖数据;对这些数据使用自定义分类算法来构建代表交互候选的决策树;然后分析树以生成新的配置,以在下一次迭代中进一步细化树和交互。我们在17个跨越4种语言的可配置系统上的实验表明,Gentree使用配置空间的一小部分有效地找到精确的交互。

英文摘要:

Modern software systems are increasingly designed to be highly configurable, which increases flexibility but can make programs harder to develop, test, and analyze, e.g., how configuration options are set to reach certain locations, what characterizes the configuration space of an interesting or buggy program behavior? We introduce GenTree, a new dynamic analysis that automatically learns a program's interactions - logical formulae that describe how configuration option settings map to code coverage. GenTree uses an iterative refinement approach that runs the program under a small sample of configurations to obtain coverage data; uses a custom classifying algorithm on these data to build decision trees representing interaction candidates; and then analyzes the trees to generate new configurations to further refine the trees and interactions in the next iteration. Our experiments on 17 configurable systems spanning 4 languages show that GenTree efficiently finds precise interactions using a tiny fraction of the configuration space.

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

↑