本项目探究机器学习、深度学习等方法在软件工程研究问题中的应用,致力于在软件工程研究中运用更好的方法解决问题。
##文件及说明
Bug_training_cm.py 论文对比实验代码
tfidf文件夹包含tfidf训练模型
training包含w2v以及d2v训练好模型
exper_filehash.sql为验证数据集
------------------------
训练集为5845条数据 ,测试集为650
效果不好的原因是因为一个bugid对应的相似bugid数量较少
1、第一阶段目标:运用document embedding (例如doc2vec)方法解决传统经典bug研究问题,例如bug localization、bug分类、bug指派等。传统方法主要是基于bug的自身属性或者利用传统的信息抽取方法(例如TF-IDF)来计算文本的相似度。
2、经过调研,对于传统的bug localization问题,目前已有研究利用人工神经网络(例如word embedding, word2vec)方法来研究此类问题。但是word2vec方法只考虑了词与词之间的相似度,很难将一些bug的结构属性加入到模型中,但是doc2vec方法在word2vec基础上考虑了文档标签,所以可以将bug的属性很容易的加入到人工神经网络的模型中去,使模型参考因素更多,更加健壮。所以我们猜测doc2vec方法解决传统的bug localization问题效果会更好。
3、第一阶段计划:运用doc2vec方法对bug localization问题进行研究,并与前人的工作做对比,比如与word2vec方法做实验对比,验证我们实验方法的优越性。
4、下一阶段计划:我们在传统bug问题上走通后,再想办法移植到github上的新式研究问题,例如给用户推荐项目,预测issue的解决时间之类的。