摘要:软件错误定位是一项耗时又费力的工作,因此如何提高软件错误定位的自动化程度一直以来都是软件工程领域研究的热点.现有的基于频谱的错误定位方法很少利用程序的上下文信息,而程序的上下文信息对错误定位至关重要.针对这一问题,提出了一种基于路径分析和信息熵的错误定位方法FLPI.该方法在基于频谱信息技术的基础上,通过对所有执行路径中的数据依赖关系进行分析来引入执行上下文信息,同时利用信息熵理论将测试事件信息引入到可疑语句的怀疑度计算公式中,以提高错误定位的精度和效率.为了评价该方法的有效性,基于一组基准程序和开源程序进行实验验证.实验结果表明,所提出的方法FLPI能够有效地提高错误定位的精度和效率.
Abstract:Software fault localization is a time-consuming and laborious work, so determining how to improve the automation of software fault localization has always been a hot topic in the field of software engineering. The existing spectrum-based fault localization (SBFL) methods rarely use the context information of the program, which is very important for fault localization. To solve this problem, this study proposes a fault localization approach based on path analysis and information entropy (FLPI). Based on the spectrum information technology, this approach introduces the execution context information by analyzing the data dependencies in all execution paths, and introduces the test event information into the suspiciousness formula by using the information entropy theory, so as to maximize the accuracy and efficiency of fault localization. To evaluate the effectiveness of the proposed approach, the experiments are conducted on a set of benchmark programs and open source programs. Experimental results show that the proposed FLPI approach can effectively improve the accuracy and efficiency of fault localization.
PDF全文下载地址:
http://jos.org.cn/jos/article/pdf/6262
删除或更新信息,请邮件至freekaoyan#163.com(#换成@)
基于路径分析和信息熵的错误定位方法
本站小编 Free考研考试/2022-01-02
相关话题/信息 程序 软件 实验 工作
Petri网的反向展开及其在程序数据竞争检测的应用
摘要:展开技术借助分支进程可在一定程度上缓解Petri网性质分析中的状态爆炸问题.但展开网中仍然包含了系统的所有状态信息.某些应用问题仅需对系统特定状态的可覆盖性进行判定,以此为目标,有望缩减网系统展开的规模.为此,针对安全Petri网的可覆盖性判定问题提出了一种目标导向的反向展开算法,结合启发式技 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02基于锁增广分段图的多线程程序死锁检测
摘要:死锁是并行程序常见的缺陷之一,动态死锁分析方法根据程序运行轨迹构建锁图、分段图等模型来检测死锁.然而,锁图及其现有的各种变型无法区分同一循环中锁授权语句的多次执行,扩展锁图中记录的锁集无法捕捉线程曾经持有而又随后释放的锁信息,分段图无法刻画锁的获取和释放操作与线程启动操作耦合而导致的段间依赖关 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02面向持续软件工程的微服务架构技术专题前言
摘要:随着软件互联网化和服务化的高度发展,持续性(continuity)成为现代软件系统的基本特性之一,覆盖从商业策划、软件开发、运维、演化的所有环节,使得软件系统在持续稳定提供功能和服务的同时,软件系统的边界和内部结构始终处于不断变化、持续更新和适应之中,持续软件工程(continuoussoft ...中科院软件研究所 本站小编 Free考研考试 2022-01-02程序智能合成技术研究进展
摘要:近年来,随着信息技术快速发展,软件重要性与日俱增,极大地推动了国民经济的发展.然而,由于软件业务形态越来越复杂和需求变化越来越快,软件的开发和维护成本急剧增加,迫切需要探索新的软件开发模式和技术.目前,各行业在软件活动中积累了规模巨大的软件代码和数据,这些软件资产为软件智能化开发建立了数据基础 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02面向领域的软件系统构造与质量保障专题前言
摘要:软件是推动新一代信息技术发展的驱动力.随着互联网、云计算、人工智能等技术的快速发展,软件与物联网、区块链、自动驾驶等众多领域的融合进一步加强,正引领并促进这些领域向数字化、智能化发展,为社会、经济的加速演进和创新发展带来了新的契机.因此,面向领域的软件技术不仅是软件领域,也是众多其他领域国内外 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02一种结构信息增强的代码修改自动转换方法
摘要:在开发过程中,开发人员在进行缺陷修复、版本更新时,常常需要修改多处相似的代码.如何进行自动代码修改已成为软件工程领域的热点研究问题.一种行之有效的方式是:给定一组代码修改示例,通过抽取其中的代码修改模式,辅助相似代码进行自动转换.在现有工作中,基于深度学习的方法取得了一定进展,但在捕获代码间的 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02融合代码与文档的软件功能特征挖掘方法
摘要:在软件复用过程中,简洁、清楚的软件功能自然语言描述是帮助复用者快速了解待复用软件项目/代码库的前提和基础.但当前开源软件往往缺乏高质量的软件功能说明文档,使得这一过程变得更加复杂和困难.为此,提出了一种融合代码与文档的软件功能特征挖掘方法.该方法以动宾短语的形式描述软件功能特征,通过迭代挖掘软 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02基于信息检索的软件缺陷定位方法综述
摘要:基于信息检索的软件缺陷定位方法是当前软件缺陷定位领域中的一个研究热点.该方法主要分析缺陷报告文本和程序模块代码,通过计算缺陷报告和程序模块间的相似度,选取与缺陷报告相似度最高的若干程序模块,将其推荐给开发人员.对近些年国内外研究人员在该综述主题上取得的成果进行了系统的梳理和总结.首先,给出研究 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02智能软件定义网络
摘要:近年来,人工智能(artificialintelligence,简称AI)以强劲势头吸引着学术界和工业界的目光,并被广泛应用于各种领域.计算机网络为人工智能的实现提供了关键的计算基础设施.然而,传统网络固有的分布式结构往往无法快速、精准地提供人工智能所需要的计算能力,导致人工智能难以实际应用和 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02循环迭代程序的一种可信计算算法
摘要:循环迭代程序作为软件的基本组成部分,其正确运行具有重要意义.然而,有时(比如其相关错数大于0时)计算时的舍入误差(或表示误差)会导致循环迭代的计算结果不稳定.基于“中间计算精度自动动态调整”的计算技术,给出了循环迭代程序的一种可信计算算法.利用该算法,可获得循环迭代程序任意次迭代的任意位的正确 ...中科院软件研究所 本站小编 Free考研考试 2022-01-02