题目:Enhancing the Unified Features to Locate Buggy Files by Exploiting the Sequential Nature of Source Code
作者:Xuan Huo and Ming Li
单位:National Key Laboratory for Novel Software Technology, Nanjing University
出版:IJCAI-17
 
解决的问题

1、 bug报告自动定位bug源文件。
2、 自然语言和程序语言这两种完全不同的结构语义建模的困难。
3、 之前的研究无法对源码的连续性进行捕获,源码连续性包含词汇和结构术语之外的语义信息,这种信息对程序功能和行为建模很重要。

 
方案
本文提出了LS-CNN模型,通过源码的顺序性来增强统一特征的能力。LS-CNN将CNN和LSTM组合起来,提取语义特征。实验表明,在广泛使用的软件项目中LS-CNN比现有方法性能更好。
 
贡献点
1、提出了一个全新的深度模型LS-CNN,通过利用源码的顺序性来增强同一特性,从而对bug源码文件进行定位。
2、本文针对结构和顺序,设计了将LSTM和CNN结合的框架。能够同时从结构和顺序中捕获到程序的语义信息。
 
方法

LS-CNN总体框架

 


源码顺序性
问题:是否可以通过考虑源码的时序性,增强统一特性?
Solution:LSTM,已经被证明对维持文本处理中的时序性是有效的,LSTM是RNN的一种,可以捕获语句之间的顺序相关性。LSTM集成的内存单元c,可以让网络学习何时忘记以前的隐藏状态,给定新的信息何时更新隐藏状态。


 


 
实验

 

 

图片:5.png



未来工作

1、将会加入其他数据以丰富LS-CNN的网络结构。
2、通过结合更丰富的程序结构和从程序分析工具得到的序列信息来提高bug定位。
 

想法

这篇IJCAI-17论文和上面读的IJCAI-16 《Learning Unified Features from Natural and Programming Languages for Locating Buggy Source Code》是同一个团队,这篇对2016的方法做了改进,这两篇目前看来是bug报告自动定位bug文件这个方向上最新的研究成果。且两篇最后都提到了未来可以加入程序分析工具,来得到丰富信息,我认为可以作为一个入手点。

posted on 2017-11-26 11:17  gracias_lucy  阅读(288)  评论(0编辑  收藏  举报