期刊文献+
共找到10篇文章
< 1 >
每页显示 20 50 100
基于知识图谱的bug问题探索性搜索方法 被引量:8
1
作者 孙小兵 王璐 +2 位作者 王经纬 李斌 李宇 《电子学报》 EI CAS CSCD 北大核心 2018年第7期1578-1583,共6页
软件bug问题在软件开发与维护过程中不可避免.然而软件历史库中的bug库与commit库之间没有直接的对应关系,并且随着bug信息、commit提交信息量的增长,搜索bug变得更加繁琐.本文提出一种基于知识图谱对bug问题进行探索性搜索的方法.通过... 软件bug问题在软件开发与维护过程中不可避免.然而软件历史库中的bug库与commit库之间没有直接的对应关系,并且随着bug信息、commit提交信息量的增长,搜索bug变得更加繁琐.本文提出一种基于知识图谱对bug问题进行探索性搜索的方法.通过建立bug报告、commit提交信息及相关人员(如:bug报告人、commit提交者等)信息的bug知识图谱,并结合探索性搜索的思想,不仅能准确搜索bug问题,还能提供相关辅助信息对bug问题进行探索性搜索,帮助软件开发人员更有效地理解和解决bug问题. 展开更多
关键词 bug报告 commit提交 知识图谱 探索性搜索
下载PDF
融合信息检索和深度模型特征的软件缺陷定位方法
2
作者 申宗汶 牛菲菲 +4 位作者 李传艺 陈翔 李奇 葛季栋 骆斌 《软件学报》 EI CSCD 北大核心 2024年第7期3245-3264,共20页
构建自动化的缺陷定位方法能够加快程序员利用缺陷报告定位到复杂软件系统缺陷代码的过程.早期相关研究人员将缺陷定位视为检索任务,通过分析缺陷报告和相关代码构造缺陷特征,并结合信息检索的方法实现缺陷定位.随着深度学习的发展,利... 构建自动化的缺陷定位方法能够加快程序员利用缺陷报告定位到复杂软件系统缺陷代码的过程.早期相关研究人员将缺陷定位视为检索任务,通过分析缺陷报告和相关代码构造缺陷特征,并结合信息检索的方法实现缺陷定位.随着深度学习的发展,利用深度模型特征的缺陷定位方法也取得了一定效果.然而,由于深度模型训练的时间成本和耗费资源相对较高,现有基于深度模型的缺陷定位研究方法存在实验搜索空间和真实情况不符的情况.这些研究方法在测试时并没有将项目下的所有代码作为搜索空间,而仅仅搜索了与已有缺陷相关的代码,例如DNNLOC方法、DeepLocator方法、DreamLoc方法.这种做法和现实中程序员进行缺陷定位的搜索场景是不一致的.致力于模拟缺陷定位的真实场景,提出了一种融合信息检索和深度模型特征的TosLoc方法进行缺陷定位.TosLoc方法首先通过信息检索的方式检索真实项目的所有源代码,确保已有特征的充分利用;再利用深度模型挖掘源代码和缺陷报告的语义,获取最终定位结果.通过两阶段的检索,TosLoc方法能够对单个项目的所有代码实现快速缺陷定位.通过在4个常用的真实Java项目上进行实验,TosLoc方法能够在检索速度和准确性上超越已有基准方法.与最优基准方法DreamLoc相比,TosLoc方法在消耗DreamLoc方法35%的检索时间下,平均MRR值比DreamLoc方法提高了2.5%,平均MAP值提高了6.0%. 展开更多
关键词 缺陷定位 缺陷报告 信息检索 深度学习 检索空间
下载PDF
面向缺陷知识的多特征匹配搜索算法 被引量:2
3
作者 李斌 陈定山 +1 位作者 孙小兵 薄莉莉 《电子学报》 EI CAS CSCD 北大核心 2021年第4期661-664,共4页
缺陷数据分析正成为软件工程领域的热点,现有缺陷分析技术无法有效处理复杂和冗余的缺陷数据,以高效地辅助缺陷修复工作.本文提出一种多特征匹配搜索算法——MMSBK(Multi-feature Matching Search Algorithm for Bug Knowledge).首先对... 缺陷数据分析正成为软件工程领域的热点,现有缺陷分析技术无法有效处理复杂和冗余的缺陷数据,以高效地辅助缺陷修复工作.本文提出一种多特征匹配搜索算法——MMSBK(Multi-feature Matching Search Algorithm for Bug Knowledge).首先对缺陷问题进行分析,抽取其包含的缺陷实体及关系;然后,基于实体和关系匹配将缺陷问题与缺陷知识图谱关联,通过知识图谱的关联性和可视化帮助软件开发搜索缺陷知识;最后,基于匹配算法生成的缺陷关系三元组生成搜索结果子图.实验验证了MMSBK算法的有效性. 展开更多
关键词 缺陷知识图谱 知识搜索 缺陷实体 缺陷关系
下载PDF
一种基于加权软件行为图挖掘的软件错误定位方法 被引量:3
4
作者 苏小红 王甜甜 +1 位作者 杨劭君 马培军 《计算机学报》 EI CSCD 北大核心 2016年第11期2175-2188,共14页
已有错误定位方法通常仅给出可疑语句排序而缺少必要的上下文信息,导致难于理解软件失效的产生原因.为了解决该问题,定义了加权软件行为图来表示成功和失败的程序执行路径,由于图中边的权重表示了路径的执行频率,因此与LEAP方法相比,可... 已有错误定位方法通常仅给出可疑语句排序而缺少必要的上下文信息,导致难于理解软件失效的产生原因.为了解决该问题,定义了加权软件行为图来表示成功和失败的程序执行路径,由于图中边的权重表示了路径的执行频率,因此与LEAP方法相比,可以较好地分析与循环和递归等结构相关的软件错误.在此基础上,执行基于分支限界搜索的加权软件行为图挖掘算法,识别成功和失败执行之间最有差异的子图来获得错误签名,不但可以有效定位错误位置,还能输出缺陷语句相关的执行路径,从而提供失效产生的上下文.分析Siemens基准测试集和flex程序的结果表明,在检查相同百分比的语句的情况下,文中方法可以比Tarantula方法和LEAP方法定位到更多的错误.特别是对于冗余代码、缺失代码和变量替换,以及会直接改变执行路径类的错误,文中方法具有较高的定位精度. 展开更多
关键词 错误定位 软件行为图 图挖掘 错误签名 分支限界搜索
下载PDF
自动程序修复方法研究述评 被引量:17
5
作者 王赞 郜健 +2 位作者 陈翔 傅浩杰 樊向宇 《计算机学报》 EI CSCD 北大核心 2018年第3期588-610,共23页
当开发人员面对大量缺陷报告无从入手的时候,自动程序修复(Automatic Program Repair,APR)可以成功完成其中一些缺陷的自动修复,从而有效减少开发人员的程序调试时间.因此自动程序修复逐渐成为当前软件维护领域中的一个研究热点并取得... 当开发人员面对大量缺陷报告无从入手的时候,自动程序修复(Automatic Program Repair,APR)可以成功完成其中一些缺陷的自动修复,从而有效减少开发人员的程序调试时间.因此自动程序修复逐渐成为当前软件维护领域中的一个研究热点并取得了一定的研究进展.该文通过对权威期刊和会议进行检索,搜集了100余篇相关论文,从现有自动程序修复的研究历程、该方法中的重要问题以及国内外相关研究团队及成果等几个方面对该领域进行了系统的总结.其中基于测试用例的自动程序修复方法是当前一种主流方法,其通过配套测试用例集来评估生成补丁的质量.论文将这类方法细分为三个阶段:软件缺陷定位阶段、生成补丁阶段和补丁评估阶段.其中软件缺陷定位阶段是自动程序修复的基础,其目标是尽可能精确识别出可能含有缺陷的语句.生成补丁阶段一般通过预先定义的修改操作对缺陷语句进行修改,代码修改操作在设定时可以考虑修复程序的自身代码、开源项目的代码或者问答网站中的知识等.补丁评价阶段则对生成的候选补丁进行评估,直到找到一个补丁可以使得所有测试用例均执行通过,并随后借助开发人员的人工分析进行最终确认.在上述三个阶段中,生成补丁阶段是自动程序修复方法的核心,论文将已有补丁生成方法细分为三类:基于搜索的方法、基于语义的方法和其他类型方法.其中基于搜索的方法在搜索空间内通过搜索生成补丁,并借助配套测试用例集对该补丁进行验证,经典的方法包括GenProg、PAR、AE、RSrepair等;基于语义的方法则借助语义信息来合成补丁,主要基于符号执行和约束求解,经典的方法包括SemFix、DirectFix、Angelix、Nopol等;而不属于上述两类方法的研究工作则被归于其他类型的方法,经典的工作包括基于问答网站和开源项目托管网站挖掘来生成补丁.而补丁评价阶段是自动程序修复方法研究的争议焦点,近两年研究人员更多关注正确补丁在搜索空间中的分布和补丁的正确性.特别是针对减少补丁的验证花销和提高补丁质量的问题做出了进一步的探索.随后论文针对特定领域的自动程序修复方法进行了总结,包括并发缺陷、数据库缺陷、空指针缺陷、数据结构缺陷、内存泄漏缺陷等的自动修复方法.其中重点分析了针对并发缺陷的自动修复方法,将已有研究工作分为数据竞争的自动修复、原子性违背的自动修复、顺序违背的自动修复和死锁的自动修复.然后论文总结了自动程序修复方法在有效性评估中经常使用的缺陷库,不难看出ManyBugs、IntroClass、Simens程序集和Defect4J是目前使用最多的缺陷库.为了方便研究人员更好的与自己提出的修复方法进行比较,论文搜集了目前已经共享的自动程序修复工具并给出了相关参考文献和具体下载地址.接着论文对国内外在程序自动修复领域比较活跃的研究小组进行了总结,并对每个研究组的主要贡献进行了总结,以方便国内外研究人员对他们的后续研究工作进行及时跟踪.最后总结全文,并依次从缺陷定位、补丁生成和评估、缺陷数量和类型、特定领域的缺陷修复以及缺陷修复在工业界中的应用这五个维度对未来的研究工作进行了展望. 展开更多
关键词 自动程序修复 软件缺陷定位 基于搜索的软件工程 约束求解 并发程序缺陷修复
下载PDF
搜索引擎安全性的思考 被引量:1
6
作者 王晓艳 《武汉科技大学学报(社会科学版)》 2006年第1期45-47,共3页
搜索引擎的安全性问题是网络安全问题的一种。本文首先分析了搜索引擎所产生的安全性漏洞并针对这些漏洞提出了技术对策。随后,文章着重探讨了搜索引擎安全性引发的网络安全对道德建设的挑战及其应对措施。
关键词 搜索引擎 安全性 漏洞 道德建设
下载PDF
基于求解开销预测的符号执行搜索策略研究 被引量:2
7
作者 刘经德 陈振邦 王戟 《计算机研究与发展》 EI CSCD 北大核心 2016年第5期1086-1094,共9页
符号执行中约束求解所占的时间比例非常高.同时,不同复杂度约束的求解时间开销差距悬殊,这一现象在对包含复杂数值计算的程序进行符号执行时尤为明显.在指定时间内求解更多约束有利于覆盖更多语句和探索更多路径.为此,提出了基于求解开... 符号执行中约束求解所占的时间比例非常高.同时,不同复杂度约束的求解时间开销差距悬殊,这一现象在对包含复杂数值计算的程序进行符号执行时尤为明显.在指定时间内求解更多约束有利于覆盖更多语句和探索更多路径.为此,提出了基于求解开销预测的符号执行搜索策略.基于实验总结出了度量约束复杂度的经验公式,并结合约束的历史求解开销来预测当前的求解开销,从而在符号执行过程中优先探索求解开销较小的路径.在KLEE中实现了上述搜索策略,并对GNU科学计算库(GSL)中的12个模块进行了实验.实验结果表明,相比现有搜索策略,提出的搜索策略在保证语句覆盖率的同时,可以探索更多的路径(平均24.34%提高);而且,在相同时间内,可以查找出更多的软件缺陷,同时查找出相同缺陷的时间开销平均降低了44.43%. 展开更多
关键词 符号执行 约束求解 加权随机搜索 缺陷查找 语句覆盖
下载PDF
植株结构对不同虫态蠋蝽搜索和捕食斜纹夜蛾幼虫行为的影响 被引量:4
8
作者 李发倩 李保平 孟玲 《中国生物防治学报》 CSCD 北大核心 2021年第3期464-471,共8页
本研究旨在探明植株结构复杂性如何影响活动性较弱的捕食性昆虫对植株上防卫性较强的猎物的搜索和捕食行为。以蠋蝽Arma chinensis及其猎物斜纹夜蛾Spodoptera litura幼虫为捕食者-猎物模式,设置盆栽大豆Glycinemax植株结构复杂性2个处... 本研究旨在探明植株结构复杂性如何影响活动性较弱的捕食性昆虫对植株上防卫性较强的猎物的搜索和捕食行为。以蠋蝽Arma chinensis及其猎物斜纹夜蛾Spodoptera litura幼虫为捕食者-猎物模式,设置盆栽大豆Glycinemax植株结构复杂性2个处理:1株/盆,2株/盆,接4头斜纹夜蛾4龄幼虫:在某一盆植株的4个枝条上各1头。然后在植株基部主茎上释放1头3或5龄蠋蝽若虫或1头刚羽化的雌或雄成虫,组成蠋蝽虫龄(态)4个处理。对躅蝽首次选择有虫枝条的概率分析结果表明,蠋蝽虫龄(态)和植株复杂性处理均不影响蠋蝽对有猎物枝条的首选偏好性,说明蠋蝽在植株主茎上随机选择枝条搜寻取食叶片的猎物。拟合蠋蝽首次攻击猎物的潜伏期估计猎物被捕食的瞬间概率(风险)结果表明,植株结构复杂性和蠋蝽虫龄(态)单独影响斜纹夜蛾幼虫的被捕食风险,该风险在结构简单比在复杂的植株上增大2.4倍;被3龄或5龄若虫捕食的风险是被雌成虫捕食的1.7倍;在3龄与5龄若虫之间以及雌性和雄性成虫之间没有差异。对蠋蝽搜索和捕食行为的时间特征进行的分析结果表明,植株复杂性和蠋蝽虫龄(态)单独影响蠋蝽的搜索和捕食行为的时间特征参数,搜索用时在复杂植株上比在简单植株上延长1.5倍;3龄若虫的搜索用时比5龄若虫长1.3倍;植株复杂性不影响蠋蝽的静伏用时,但雌成虫的静伏用时分别是3、5龄若虫和雄成虫用时的1.8、1.6和1.3倍,雄成虫的静伏用时分别是3、5龄若虫用时的1.7和1.3倍;植株复杂性不影响蠋蝽麻痹猎物用时,但3龄若虫用时分别是雌、雄成虫和5龄若虫用时的2.2、2.1和1.7倍,5龄若虫用时分别是雌、雄成虫用时的1.3和1.2倍。本研究结果说明,斜纹夜蛾4龄幼虫的被捕食风险在结构较复杂的植株上明显降低,被蠋蝽若虫捕食的风险大于被成虫捕食;植株结构复杂会降低蠋蝽的搜索效率。 展开更多
关键词 捕食者-猎物互作 植物结构 被捕食风险 搜索行为 捕食性蝽
下载PDF
基于神经机器翻译的二进制函数相似性检测方法 被引量:4
9
作者 陈斌 刘胜利 +1 位作者 胡安祥 杨启超 《信息工程大学学报》 2021年第6期675-682,共8页
二进制函数相似性检测是检测软件中已知安全漏洞的一种重要手段,随着物联网设备急剧增长,越来越多的软件被编译到不同指令集架构的平台上运行,因此基于二进制的跨平台相似性检测方法更具通用性。针对目前基于深度神经网络的跨平台相似... 二进制函数相似性检测是检测软件中已知安全漏洞的一种重要手段,随着物联网设备急剧增长,越来越多的软件被编译到不同指令集架构的平台上运行,因此基于二进制的跨平台相似性检测方法更具通用性。针对目前基于深度神经网络的跨平台相似性检测方法只能在基本块粒度进行相似性比对的不足,基于神经机器翻译的思想,提出一个通用的跨指令集架构的二进制函数相似性检测框架BFS,在函数粒度上通过无监督学习的方法自动捕获二进制函数的语义信息,生成二进制函数的嵌入向量。实验结果表明,BFS的P@10评价指标在88.0%以上,相较于现有方法提升了10.6百分点,并且能够有效检测出路由器固件中的已知真实漏洞。充分说明BFS检测框架在对二进制函数进行嵌入时,不仅能够保留较多原始语义信息,同时能够消除不同指令集架构以及编译优化选项的影响。 展开更多
关键词 二进制代码 相似性检测 跨平台 漏洞搜索 神经机器翻译
下载PDF
面向缺陷定位的代码搜索引擎
10
作者 常建明 薄莉莉 孙小兵 《计算机科学》 CSCD 北大核心 2021年第12期140-148,共9页
随着软件项目规模的扩大以及软件复杂性的增加,缺陷修复的难度越来越大。其中,绝大多数缺陷问题都是由代码的错误编写导致的,在软件缺陷修复过程中开发维护人员需要花费大量的时间定位并修改缺陷代码。针对这个问题,对缺陷报告以及对应... 随着软件项目规模的扩大以及软件复杂性的增加,缺陷修复的难度越来越大。其中,绝大多数缺陷问题都是由代码的错误编写导致的,在软件缺陷修复过程中开发维护人员需要花费大量的时间定位并修改缺陷代码。针对这个问题,对缺陷报告以及对应的项目变更信息进行整合,根据代码抽象语法树结构信息计算代码块与缺陷报告之间的关系,从而构建缺陷-代码知识库。在此知识库的基础上构建面向缺陷定位的代码搜索引擎,以向用户推荐更全面的缺陷定位信息,包括相似缺陷报告、相关缺陷代码文件以及缺陷代码块,从而帮助开发和维护人员及时有效地定位缺陷。实验结果说明,相比现有的缺陷定位方法,所提方法能够更准确地定位缺陷代码文件,并且可有效定位到代码粒度。 展开更多
关键词 缺陷定位 缺陷报告 抽象语法树 代码搜索
下载PDF
上一页 1 下一页 到第
使用帮助 返回顶部