多标签软件行为学习

论文:Feng, Y., & Chen, Z. (2012). Multi-label software behavior learning. International Conference on Software Engineering (Vol.8543, pp.1305-1308). IEEE.

https://ieeexplore.ieee.org/document/6227093/

技术介绍:

软件行为学习是软件开发生命周期中最重要的任务之一。软件行为通常表示一个程序的执行轨迹,然后相似的执行轨迹被识别并分组到一个类别中。这个分组可以帮助理解软件行为并协助软件工程任务。许多基于软件行为学习的应用已经被研究,包括测试用例选择,失败 告分类,失败预测和调试。随着许多现代软件产品的开发,大量的失败执行信息可以被自动收集并 告给开发人员。但失败 告的多样性、复杂性等问题给开发人员带来了巨大的挑战。因此实现失败 告的自动分组来简化工作是必要的。

图1 软件行为学习框架

单标签软件行为学习也在试着为失败 告分配故障标签,然而当失败执行由多个故障同时引起时,单标签学习能会产生一些不完整,甚至错误的学习结果。第3.3节中的结果证明,在失败 告分类的任务中,多标签软件行为学习比单标签学习要好。多标签学习可以显着改善软件行为学习方面的F值,且改进具有显著性,有统计学意义。因此,多标签软件行为学习可以更有效地帮助软件工程任务。

图2 单标签和多标签软件行为学习在工业程序中flex和grep中的F值。

“F*”和“G*”分别表示Flex和Grep的版本。“S”和“M”分别表示单标签学习和多标签学习的结果

表1 单尾t检验判断多标签软件行为学习的F值和单标签的F值相比是否显著性提高,

其中所有的p值都比标准值0.05小得多,即,改进具有显著性

总而言之,本研究做出了以下贡献:

  1. 我们首先介绍了软件行为学习中的多标签学习任务。 接着将其形式化为一个多标签模型,并将一个经典的多标签学习算法ML-KNN引入到解决方案中。
  2. 我们在两个大型工业程序中进行了初步实验,分析了有关软件工程中单标签学习的风险。 实验结果表明,多标签软件行为学习总体上优于单标签学习。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年10月3日
下一篇 2018年10月3日

相关推荐