arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 1609.01759cs.SE
收藏

软件分析的调优:真的有必要吗?

Tuning for Software Analytics: is it Really Necessary?

Wei Fu, Tim Menzies, Xipeng Shen

摘要:

背景:数据挖掘器在软件工程中得到了广泛的应用,比如说,从静态代码度量中生成缺陷预测器。与手动方法相比,这种静态代码缺陷预测器表现良好,并且它们易于使用并且有用。但数据采掘的“黑艺术”之一是设置控制矿工的调优。目的:寻求一种简单、自动、有效的方法来寻找这些调谐。方法:对于使用不同数据集(来自开源JAVA系统)的每个实验,我们运行差分进化作为优化器来探索调优空间(作为第一步),然后使用保留数据测试调优。结果如下:与我们之前的预期相反,我们发现这些调优非常简单:只需要数十次而不是数千次尝试就可以获得非常好的结果。例如,当学习软件缺陷预测器时,该方法可以快速找到将检测精度从0%改变到60%的调整。结论:由于(1)改进如此之大,(2)调优如此简单,我们需要改变软件分析中的标准方法。至少对于缺陷预测来说,仅仅运行一个数据挖掘器并呈现结果已经不够了,还需要进行调优优化研究。对其他类型的分析的影响现在是一个公开而紧迫的问题

英文摘要:

Context: Data miners have been widely used in software engineering to, say, generate defect predictors from static code measures. Such static code defect predictors perform well compared to manual methods, and they are easy to use and useful to use. But one of the "black art" of data mining is setting the tunings that control the miner. Objective:We seek simple, automatic, and very effective method for finding those tunings. Method: For each experiment with different data sets (from open source JAVA systems), we ran differential evolution as anoptimizer to explore the tuning space (as a first step) then tested the tunings using hold-out data. Results: Contrary to our prior expectations, we found these tunings were remarkably simple: it only required tens, not thousands,of attempts to obtain very good results. For example, when learning software defect predictors, this method can quickly find tuningsthat alter detection precision from 0% to 60%. Conclusion: Since (1) the improvements are so large, and (2) the tuning is so simple, we need to change standard methods insoftware analytics. At least for defect prediction, it is no longer enough to just run a data miner and present the resultwithoutconducting a tuning optimization study. The implication for other kinds of analytics is now an open and pressing issue

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

↑