基于函数调用全信息的缺陷定位研究

来源 :北京理工大学 | 被引量 : 0次 | 上传用户:liuyong19840815
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在程序调试中,定位出软件的缺陷位置是程序调错过程中一项很重要的活动。找出软件缺陷的效率取决于程序开发人员的逻辑判断能力以及在程序调试过程中的经验。然儿,近些年,随着软件行业尤其互联网行业的高速发展,一些大型软件呈现出规模庞大、代码量大、程序之间的逻辑复杂等特点。单纯靠人工去定位软件缺陷是比较艰难的。如果有方法能根据程序运行过程中表现的一些特征定位出软件缺陷的大体位置,然后再靠人力进行简单判断,将节省很多精力。基于此,近些年,一些自动化定位软件缺陷的方法被很多国内外的学者提出。目前国际上比较流行的软件缺陷定位方法有基于程序普的缺陷定位方法、基于统计缺陷定位方法、基于BP神经网络缺陷定位方法等。以上的相关研究大多是以语句为粒度的缺陷检测和定位。而以函数为粒度的定位研究很少。而从实际生产环境中出现的软件缺陷情况看,大多缺陷都是由一个函数内部多个语句逻辑执行错误而造成,所以用函数作为粒度来确定软件缺陷的位置更符合生产环境。再者,现在大多数研究都是基于单机的,当软件很庞大,代码量很大,用于确定软件缺陷的初始数据量很大的时候,单机处理相当吃力或者无法用单机进行处理。因此基于大数据方法来进行数据的清洗和统计是相当必要的。本文提出的方法是基于函数调用全信息的软件缺陷定位。首先该方法利用面向切面编程的方式得到函数调用过程中的函数参数值、函数调用次数、函数之间调用关系的数据信息。接着利用Gini指数等方式提取出与函数缺陷相关的特征,最后利用随机森林模型预测函数可能缺陷的嫌疑度。该方法中进行的数据预处理是在hadoop集群上,使用hive和mapreduce进行数据的清洗和相关特征提取,利用本人改进过的随机森林模型进行模型的训练和缺陷预测。其中为了解决正负样本不均匀的情况,使用了改进后的重采样算法。为了得到预测结果更多的信息,对随机森林模型增加了置信度算法。通过在西门子测试集上进行试验,可以证明,基于函数调用全信息的缺陷定位方法,能较准确、较全面、较快速定位出软件缺陷的位置。由于该方法几乎整个过程都是在hadoop集群上进行,所以对于大数据量的软件缺陷定位很适合。该方法在实际生产环境中对大型软件缺陷定位有较高的实用价值。
其他文献
圆锥曲线板块是高中数学中的重要教学内容,对于学生的逻辑思维能力、数形结合能力,空间想象能力的提高有特殊的教育价值。圆锥曲线部分知识与数学中其它板块关联较大,在高考
长期以来,我国的教育特别是中学教育受到"应试教育"的影响,重技术,轻人文,以分数判断学生好坏,忽视或者无视教学中的人文精神的渗透。在这种教育背景下,语文教学也出现了一些
随着我国对地铁工程的不断开发,地铁地下工程中的防水成为了越来越受关注的一个难点。在开发利用地下资源建造地铁工程的过程中,对于防水材料的选择和施工工艺以及一些构造上
理财产品营销是近些年银行刚刚兴起的一项业务,这拓宽了银行的职能,同时也扩宽了我国理财产品营销的渠道,但是因为制度不健全、人员素质不高等原因,使得银行理财产品营销出现
通过高能球磨制备的片状银粉将产生大量的晶体缺陷,这些缺陷的存在将影响银粉的导电性能。对高能球磨制得的片状银粉进行了热处理研究,以减少或消除片状银粉内部的晶体缺陷,
可变的时延影响功放的动态稳定。降低电路对进入非线性的敏感度,是降低TIM的一种有效方法。提高晶体管功放动态余量,是改善其音质的良好途径。设计不合理的过流保护电路,限制
《小学品德与社会》是一门综合性的课程,从大纲的制定到教材的编写都是从小学生的社会生活实际入手并引导学生回到社会生活中为主旨,指导学生的生活,帮助他们学习如何做人,如
如今公共空间环境品质不断下降,市民健康水平也呈急剧下降趋势。伴随着城市的不断发展更新,如何改善城市公共空间环境,促进市民健康,成为本文主要研究内容,论文主要通过以下
政治传播是政府公开政务信息、引导公众思想的必要途径。政治传播重视政治表达和展示政府作为,以对受众进行思想灌输和心理控制为目标。政府新闻发言人制度是政治传播中的重