基于半监督学习方法的软件故障定位研究
2016-01-19
西北工业大学学报 2015年2期
基于半监督学习方法的软件故障定位研究
郑炜,吴潇雪,谭鑫,彭耀鹏,杨帅
(西北工业大学软件与微电子学院,陕西西安710072)
摘要:故障定位是软件工程中最为耗时和昂贵的活动之一,为降低软件故障定位的成本及提高故障定位的效率,机器学习方法被广泛应用于自动化软件故障定位中。传统的监督学习方法需要获取大量标记样本,这在实际项目中相当困难,且费用高昂。针对这一问题,提出采用半监督学习方法进行软件故障定位的思想,故障定位基于语句级别,通过应用程序中可执行语句与测试用例执行之间动态属性、以及传统软件故障定位中较有效的若干静态属性实现协同训练目的,得到训练良好的分类器,然后用该分类器对程序其余语句进行分类,从而得到故障语句。文章最后在Siemens Suite数据集中对算法进行验证,通过与传统监督学习算法进行对比,证明半监督学习算法在软件故障定位中的有效性。
关键词:软件故障定位;半监督学习;协同训练算法;训练样本
软件故障定位是软件调试过程中最为耗时和合耗资源的活动之一。为了减轻程序员手工排查程序语句的工作量,提高代码调试效率和可靠性,研究人员提出了一系列自动化的故障定位方法。机器学习方法被广泛采用。基于监督学习方法应用较广,且可靠性高。但是存在一个重要问题,就是大量标记样本的获取,因为在实际项目中大量标记样本的获取极其困难且代价高昂[1]。……
登录APP查看全文
