期刊文献+
共找到206篇文章
< 1 2 11 >
每页显示 20 50 100
ProRE:A Protocol Message Structure Reconstruction Method Based on Execution Slice Embedding 认领 引用
1
作者 Yuyao Huang Hui Shu Fei Kang 《Computers, Materials & Continua》 SCIE EI 2026年第3期936-960,共25页
Message structure reconstruction is a critical task in protocol reverse engineering,aiming to recover protocol field structures without access to source code.It enables important applications in network security,inclu... Message structure reconstruction is a critical task in protocol reverse engineering,aiming to recover protocol field structures without access to source code.It enables important applications in network security,including malware analysis and protocol fuzzing.However,existing methods suffer from inaccurate field boundary delineation and lack hierarchical relationship recovery,resulting in imprecise and incomplete reconstructions.In this paper,we propose ProRE,a novel method for reconstructing protocol field structures based on program execution slice embedding.ProRE extracts code slices from protocol parsing at runtime,converts them into embedding vectors using a data flow-sensitive assembly language model,and performs hierarchical clustering to recover complete protocol field structures.Evaluation on two datasets containing 12 protocols shows that ProRE achieves an average F1 score of 0.85 and a cophenetic correlation coefficient of 0.189,improving by 19%and 0.126%respectively over state-of-the-art methods(including BinPRE,Tupni,Netlifter,and QwQ-32B-preview),demonstrating significant superiority in both accuracy and completeness of field structure recovery.Case studies further validate the effectiveness of ProRE in practical malware analysis scenarios. 展开更多
关键词 Protocol reverse engineering program slicing code embedding hierarchical clustering
暂未订购 下载PDF
Slice-GCN:基于程序切片与图神经网络的智能合约漏洞检测方法 认领 引用 被引量:3
2
作者 张人娄 吴胜 +1 位作者 张浩 刘方宇 《信息安全学报》 CSCD 2025年第1期105-118,共14页
智能合约是一段由计算机代码构成的程序。随着智能合约数量的暴涨,如何利用漏洞检测方法来提升智能合约的安全性显得更加重要。已有的符号执行、模糊测试与形式化验证等漏洞检测方法自动化程度低,而基于序列模型的深度学习方法由于对智... 智能合约是一段由计算机代码构成的程序。随着智能合约数量的暴涨,如何利用漏洞检测方法来提升智能合约的安全性显得更加重要。已有的符号执行、模糊测试与形式化验证等漏洞检测方法自动化程度低,而基于序列模型的深度学习方法由于对智能合约源代码的特征挖掘不足导致检测结果的精度偏低。因此,本文提出一个基于程序切片与图神经网络的以太坊智能合约(简称智能合约)漏洞检测方法Slice-GCN。该方法先对程序进行代码预处理简化程序,再使用基于图可达性和数据流方程的程序切片方法对预处理后的程序进行切片,并将切片结果输入长短期记忆网络(LSTM)中提取智能合约的程序语义特征。接着,简化程序依赖图后将其输入图卷积神经网络中,并提取智能合约的程序结构特征。然后,将智能合约的程序语义特征和结构特征拼接后输入多层感知机(MLP)中,并对智能合约进行漏洞检测。在提出Slice-GCN方法的基础上,针对重入攻击、时间戳依赖及整数溢出三类漏洞,本文对Slice-GCN方法与Oyente、Osiris和Soliditycheck三款智能漏洞检测工具进行了对比实验,并且通过消融实验分析了程序切片、图神经网络及图收缩比例对实验结果的影响。实验结果表明本文提出的方法在各类指标上均有较大提升,能有效提升检测准确度和精度,降低误报率,同时在检测速度上也明显优于传统的智能合约漏洞检测工具。 展开更多
关键词 智能合约 漏洞检测 图神经网络 程序切片
暂未订购 下载PDF
P-Slicer:面向路径表示学习的程序切片方法 认领 引用 被引量:1
3
作者 刘天阳 石剑君 +1 位作者 叶嘉威 计卫星 《电子学报》 EI CAS CSCD 北大核心 2025年第11期3894-3909,共16页
程序切片技术作为软件分析中的基础性手段,在程序理解、缺陷定位、代码重构等任务中具有重要作用.其核心挑战在于如何在复杂控制流和数据流结构中准确识别与切片准则相关的代码片段.近年来,基于预训练大语言模型的切片方法因其对程序语... 程序切片技术作为软件分析中的基础性手段,在程序理解、缺陷定位、代码重构等任务中具有重要作用.其核心挑战在于如何在复杂控制流和数据流结构中准确识别与切片准则相关的代码片段.近年来,基于预训练大语言模型的切片方法因其对程序语义建模能力较强而展现出良好性能,然而受限于模型输入长度限制,难以有效处理长方法体及跨过程依赖等实际场景.针对以上问题,本文提出一种面向路径表示学习的程序切片方法P-Slicer.该方法首先通过构建基于语法结构的控制流图,从中提取多条可能的执行路径,以实现高代码覆盖率并保留上下文信息;随后,采用基于学习的分类模型对方法内部语句进行切片相关性判断;最后,结合变量的定义-使用传播机制,实现跨过程切片的递归分析.该方法在保持可扩展性的同时,融合了语义理解能力,提升了切片结果的准确性与实用性.实验结果表明,P-Slicer在切片任务中取得了95.95%的准确率、86.89%精确度和88.95%的召回率,且在处理长方法和跨过程切片时仍能保持良好性能,表明其在软件工程领域中的良好应用前景. 展开更多
关键词 程序切片 路径提取 跨过程分析
暂未订购 下载PDF
考虑AI大模型的多维网络安全度量及主动防御策略 认领 引用 被引量:2
4
作者 徐胜超 蒋大锐 吕峻闽 《计算机技术与发展》 2026年第3期215-220,F0003,共6页
利用单一维度表征网络安全状态的参量进行度量时,参量的畸变会引起度量误差,导致生成的防御策略难以保障攻击场景下网络的安全。为此,论文引入AI大模型对多维网络安全进行度量,并生成主动防御策略。从主机状态和网络状态两个角度出发,在... 利用单一维度表征网络安全状态的参量进行度量时,参量的畸变会引起度量误差,导致生成的防御策略难以保障攻击场景下网络的安全。为此,论文引入AI大模型对多维网络安全进行度量,并生成主动防御策略。从主机状态和网络状态两个角度出发,在7个维度上对表征网络安全状态的参量进行量化,并拟合权重输出网络安全度量结果,避免了单一维度参量畸变引起的度量误差。利用整数线性规划的方式对网络切片进行部署时,将安全度量值最大值化作为目标函数,在AI大模型下更新网络切片迁移结果,直至目标函数达到收敛,输出主动防御策略。仿真结果中,设计技术在实现对网络安全状态准确度量的基础上,生成的主动防御策略能够有效降低攻击的成功率,攻击类型为数据泄露时,该方法的主动防御策略生成耗时仅为21 ms,节点数量为30个时,该方法的攻击成功率为2.3%,表明该方法防御策略效果好。 展开更多
关键词 AI大模型 多维网络安全度量 主动防御策略 整数线性规划 目标函数 网络切片迁移
暂未订购 下载PDF
一种基于IR模拟执行的密码学API误用检测方法 认领 引用
5
作者 何亚非 占力戈 +2 位作者 聂宇 傅建明 彭国军 《电子学报》 EI CAS CSCD 北大核心 2026年第3期1132-1146,共15页
密码学算法是现代软件系统中保护数据机密性与完整性的核心机制。然而,密码学应用程序编程接口(Application Programming Interface,API)的误用,例如使用可预测密钥或不安全密码算法,严重影响着软件系统的安全性,可能导致软件破解、网... 密码学算法是现代软件系统中保护数据机密性与完整性的核心机制。然而,密码学应用程序编程接口(Application Programming Interface,API)的误用,例如使用可预测密钥或不安全密码算法,严重影响着软件系统的安全性,可能导致软件破解、网络攻击等后果,表明了检测密码学API误用的必要性。现有密码学API误用检测研究主要通过分析API参数值来识别误用现象,根据分析方式可分为动态分析方法和静态分析方法。动态分析方法能获取运行时的参数值,但受代码覆盖率低的限制,易遗漏未触发的代码,从而导致漏报。相比之下,静态分析方法具备更高的代码覆盖率,但现有的静态检测方法在理论与实现上仍存在显著局限:它们大多依赖简单的常量传播或模式匹配,仅能识别直接赋值的简单参数形式,而难以解析经过复杂指令(如字符串拼接、编码转换等“值变化”操作)处理的目标参数,导致当密码学参数经过复杂变换时,现有静态分析方法会出现大量漏报的情况,形成分析盲区。针对上述问题,本文提出并实现了ParamScope。这是一种基于中间表示(Intermediate Representation,IR)解释模拟的Java密码学API误用静态检测方法。首先,ParamScope实现了一种“赋值驱动”的程序切片算法。该算法基于SootUp程序分析工具构建,通过引入严格的赋值模式约束,能够精准提取密码学参数的依赖路径。其次,ParamScope实现了轻量级IR解释器对切片后的路径进行模拟执行,并引入包含真实逻辑的Android核心类库,结合Java反射机制,在静态分析中实现了对复杂方法调用的语义还原。该方法具有静态分析的高覆盖率优势,同时有效解决了静态环境下复杂指令导致的参数值分析难题。实验表明,ParamScope在公开数据集上的参数值重建精确率达到97.31%,且误用检测准确率达到96.2%,优于现有的先进静态与动态工具;在真实Android应用程序中的检测实验进一步显示,ParamScope有效识别出大量被编码或隐藏的真实参数典型案例,并报告其中的误用现象,相较于现有的静态工具CogniCrypt额外检测出约27%的误用案例,且单个应用平均分析用时仅4.85 min。综上,ParamScope兼具静态分析的高覆盖率与复杂参数解析的高精准度,为密码学API误用检测提供了一种高精度、高效率的新型解决方案。 展开更多
关键词 静态分析 程序切片 模拟执行 Java程序分析 密码学API 误用检测
暂未订购 下载PDF
Monadically slicing programs with procedures 认领 引用
6
作者 张迎周 张卫丰 《Journal of Southeast University(English Edition)》 EI CAS 2008年第2期178-182,共5页
A two-phase monadic approach is presented for monadically slicing programs with procedures. In the monadic slice algorithm for interprocedural programs, phase 1 initializes the slice table of formal parameters in a pr... A two-phase monadic approach is presented for monadically slicing programs with procedures. In the monadic slice algorithm for interprocedural programs, phase 1 initializes the slice table of formal parameters in a procedure with the given labels, and then captures the callees' influence on callers when analyzing call statements. Phase 2 captures the callees' dependence on callers by replacing all given labels appearing in the corresponding sets of formal parameters. By the introduction of given labels, this slice method can obtain similar summary information in system-dependence-graph(SDG)-based algorithms for addressing the calling-context problem. With the use of the slice monad transformer, this monadic slicing approach achieves a high level of modularity and flexibility. It shows that the monadic interprocedural algorithm has less complexity and it is not less precise than SDG algorithms. 展开更多
关键词 program slicing monadic semantics interprocedural slicing calling-context problem
暂未订购 下载PDF
Complexity Measure Based on ProgramSlicing and Its Validation 认领 引用 被引量:1
7
作者 TAO Hongwei CHEN Yixiang 《Wuhan University Journal of Natural Sciences》 CAS 2014年第6期512-518,共7页
The popular single-factor complexity measure cannot comprehensively reflect program complexity and the existing hybrid complexity measure cannot express the interactive behaviors of programs. To treat these problems, ... The popular single-factor complexity measure cannot comprehensively reflect program complexity and the existing hybrid complexity measure cannot express the interactive behaviors of programs. To treat these problems, in this paper, we propose a complexity measure based on program slicing(CMBPS). CMPBS not only can evaluate factors which affect program complexity such as the length of the program, control flow, data flow and data types of output variables, but also can give expression of the interactive relation between programs. And we also prove that CMBPS satisfies all of Weyuker properties. Compared with the popular complexity measures, CMBPS is a well-structured complexity measure. 展开更多
关键词 program slicing complexity measure Weyuker properties validation
暂未订购 下载PDF
PROGRAM SLICING BASED ON INTERESTING INDEX 认领 引用 被引量:2
8
作者 WuFangjun YiTong 《Journal of Electronics(China)》 2004年第3期255-260,共6页
With the scale of programs becoming increasingly bigger, and the complexity degree higher, how to select program fragments for slicing has become an important research topic. A new type of criterion called interesting... With the scale of programs becoming increasingly bigger, and the complexity degree higher, how to select program fragments for slicing has become an important research topic. A new type of criterion called interesting index is proposed for selecting parts of procedures or procedure fragments to do program slicing. This new criterion considers not only the subjective aspects in users, namely users' emphasis on the time efficiency, storage capacity or readability, but also the objective aspect in large procedures. It also represents the benefit of the users, while displaying the many-faceted roles that program slicing plays. In this way users call proceed with program slicing to large systems or unfinished systems. 展开更多
关键词 Program analysis Program slicing Relative complexity of types Interesting slicing
暂未订购 下载PDF
TEST COVERAGE ANALYSIS BASED ON PROGRAM SLICING 认领 引用 被引量:2
9
作者 Chen Zhenqiang Xu Baowen Guanjie 《Journal of Electronics(China)》 2003年第3期232-236,共5页
Coverage analysis is a structural testing technique that helps to eliminate gaps in atest suite and determines when to stop testing. To compute test coverage, this letter proposes anew concept coverage about variables... Coverage analysis is a structural testing technique that helps to eliminate gaps in atest suite and determines when to stop testing. To compute test coverage, this letter proposes anew concept coverage about variables, based on program slicing. By adding powers accordingto their importance, the users can focus on the important variables to obtain higher test coverage.The letter presents methods to compute basic coverage based on program structure graphs. Inmost cases, the coverage obtained in the letter is bigger than that obtained by a traditionalmeasure, because the coverage about a variable takes only the related codes into account. 展开更多
关键词 Software testing Testing coverage Program slicing
暂未订购 下载PDF
基于深度学习的混合语言源代码漏洞检测方法 认领 引用 被引量:2
10
作者 张学军 郭梅凤 +3 位作者 张潇 张斌 黄海燕 蔡特立 《湖南大学学报(自然科学版)》 EI CAS CSCD 北大核心 2025年第4期103-113,共11页
现有基于深度学习的源代码漏洞检测方法主要针对单一编程语言进行特征学习,难以对混合编程语言软件项目因代码单元间的关联和调用产生漏洞进行有效检测.因此,本文提出了一种基于深度学习的混合语言源代码漏洞检测方法DL-HLVD.首先利用B... 现有基于深度学习的源代码漏洞检测方法主要针对单一编程语言进行特征学习,难以对混合编程语言软件项目因代码单元间的关联和调用产生漏洞进行有效检测.因此,本文提出了一种基于深度学习的混合语言源代码漏洞检测方法DL-HLVD.首先利用BERT层将代码文本转换为低维向量,并将其作为双向门控循环单元的输入来捕获上下文特征,同时使用条件随机场来捕获相邻标签间的依赖关系;然后对混合语言软件中不同类型编程语言的函数进行命名实体识别,并将其和程序切片结果进行重构来减少代码表征过程中的语法和语义信息的损失;最后设计双向长短期记忆网络模型提取漏洞代码特征,实现对混合语言软件漏洞检测.在SARD和CrossVul数据集上的实验结果表明,DL-HLVD在两类漏洞数据集上识别软件漏洞的综合召回率达到了95.0%,F1值达到了93.6%,比最新的深度学习方法VulDeePecker、SySeVR、Project Achilles在各个指标上均有提升,说明DL-HLVD能够提高混合语言场景下源代码漏洞检测的综合性能. 展开更多
关键词 漏洞检测 命名实体识别 程序切片 混合语言
暂未订购 下载PDF
基于程序语义与度量的代码缺陷检测 认领 引用 被引量:2
11
作者 卢跃 嵇友晴 +2 位作者 周礼亮 吕青 张迎周 《中北大学学报(自然科学版)》 CAS 2025年第1期105-115,共11页
软件中存在的代码缺陷严重影响了软件用户使用的体验感和安全性,传统的代码缺陷检测方法存在准确率较低的问题,而结合深度学习的现有方法的检测粒度较粗,检测效果也不够理想。为此,本文提出了一种基于程序语义与度量的代码缺陷检测方法... 软件中存在的代码缺陷严重影响了软件用户使用的体验感和安全性,传统的代码缺陷检测方法存在准确率较低的问题,而结合深度学习的现有方法的检测粒度较粗,检测效果也不够理想。为此,本文提出了一种基于程序语义与度量的代码缺陷检测方法。该方法采用基于LLVM IR的代码缺陷的兴趣点检测算法,使用轻量级符号化程序切片工具SymPas获取与缺陷兴趣点相关的程序切片。通过预训练模型将程序切片代码片段转化为向量表示,并融合指令级切片度量——认知复杂度度量,深入分析了切片语句之间的关系和特征。通过构建混合模型ResCNN-GRU进行训练,将提取的特征进行了有效融合和学习。实验结果表明,本文利用符号化程序切片技术细化了漏洞检测的粒度,在中间表示LLVM IR下融合的语义和度量信息能更好地表示缺陷代码语句间的关系和特征,构建的混合模型一定程度上解决了时间序列问题以及样本数量不均衡问题,相比其他先进方法,本文方法的准确率达到了94.1%。 展开更多
关键词 预训练模型 程序切片 切片认知域 残差网络 卷积神经网络 门控制神经网络
暂未订购 下载PDF
A HYBRID DYNAMIC PROGRAM SLICING 认领 引用
12
作者 YiTong WuFangjun 《Journal of Electronics(China)》 2005年第2期197-200,共4页
This letter proposes a hybrid method for computing dynamic program slicing. The key element is to construct a Coverage-Testing-based Dynamic Dependence Graph (CTDDG),which makes use of both dynamic and static informat... This letter proposes a hybrid method for computing dynamic program slicing. The key element is to construct a Coverage-Testing-based Dynamic Dependence Graph (CTDDG),which makes use of both dynamic and static information to get execution status. The approach overcomes the limitations of previous dynamic slicing methods, which have to redo slicing if slice criterion changes. 展开更多
关键词 Program analysis Program slicing Dynamic slicing Software testing
暂未订购 下载PDF
基于动态程序切片和污点分析的安卓应用隐私泄露检测 认领 引用 被引量:1
13
作者 汪全盛 王田田 +1 位作者 马锐 张迎周 《小型微型计算机系统》 CSCD 北大核心 2025年第3期704-712,共9页
污点分析是检测Android应用程序隐私数据泄露的有效手段,静态污点分析不直接运行程序,容易产生较高的误报率.本文提出以动态程序切片指导静态污点分析的Android应用隐私泄露检测方法.首先对Android应用程序进行静态污点分析,输出以污点... 污点分析是检测Android应用程序隐私数据泄露的有效手段,静态污点分析不直接运行程序,容易产生较高的误报率.本文提出以动态程序切片指导静态污点分析的Android应用隐私泄露检测方法.首先对Android应用程序进行静态污点分析,输出以污点源与污点汇聚点信息标注的潜在泄露数据流,再对源代码的中间表示进行静态插桩,通过实际场景中的动态运行获取代码基本块执行路径,根据污点分析及动态执行结果制定切片准则,并采用后向程序切片对信息流进行二次处理以降低假阳性.本文根据提出的方法实现了原型工具并进行了实验验证.实验使用了2个不同的测试集,分别为DroidBench和TaintBench.实验结果表明:引入动态程序切片技术能够有效降低静态污点分析的误报,本文提出的方法能够减少70.3%的误报率. 展开更多
关键词 污点分析 动态程序切片 Android隐私泄露 数据流处理
暂未订购 下载PDF
基于自注意力深度学习的硬件代码缺陷定位方法 认领 引用
14
作者 刘振磊 胡健 《计算机学报》 EI CAS CSCD 北大核心 2025年第10期2508-2521,共14页
硬件代码缺陷定位是实现硬件设计可靠性、降低设计开发成本和提高硬件设计质量的关键环节。然而,现有缺陷定位方法存在输出与执行信息不匹配、代码覆盖矩阵语义信息不足、可疑值计算方法过于简单等问题,导致缺陷定位精度受限。为了解决... 硬件代码缺陷定位是实现硬件设计可靠性、降低设计开发成本和提高硬件设计质量的关键环节。然而,现有缺陷定位方法存在输出与执行信息不匹配、代码覆盖矩阵语义信息不足、可疑值计算方法过于简单等问题,导致缺陷定位精度受限。为了解决这些问题,我们提出一种基于自注意力深度学习的硬件代码缺陷定位方法。该方法利用VCD(Value Change Dump)对比技术,匹配特定时钟周期内硬件程序的仿真结果与语句覆盖信息,构建精准的覆盖矩阵。其次,通过动态切片技术增强语义信息,保留与缺陷相关的语句,缩小代码搜索范围。最后,使用自注意力深度神经网络学习语句与缺陷之间的复杂映射关系,计算每个语句的可疑值,实现高精度的硬件代码缺陷定位。实验结果表明,该方法在缺陷定位效果上优于最新的缺陷定位方法。在Top-1指标下,本文方法的缺陷定位有效性比最新的缺陷定位方法增长了50%至200%;在MFR指标下,本文方法的缺陷定位有效性比最新的缺陷定位方法的有效性下降了51%至59%,表明该方法能更快更精确地识别缺陷位置,从而有效提高硬件设计的验证效率。 展开更多
关键词 缺陷定位 自注意力深度学习 程序切片 覆盖矩阵 可疑值
暂未订购 下载PDF
Dynamic Slicing of Object Oriented Programs 认领 引用
15
作者 Jian\|jun Zhao Department of Computer Science and Engineering, Fukuoka Institute of Technology, Fukuoka 811 0295, Japan 《Wuhan University Journal of Natural Sciences》 EI CAS 2001年第Z1期391-397,共7页
Program slice has many applications such as program debugging, testing, maintenance, and complexity measurement. A static slice consists of all statements in program P that may effect the value of variable v at some p... Program slice has many applications such as program debugging, testing, maintenance, and complexity measurement. A static slice consists of all statements in program P that may effect the value of variable v at some point p , and a dynamic slice consists only of statements that influence the value of variable occurrence for specific program inputs. In this paper, we concern the problem of dynamic slicing of object oriented programs which, to our knowledge, has not been addressed in the literatures. To solve this problem, we present the dynamic object oriented dependence graph (DODG)which is an arc classified digraph to explicitly represent various dynamic dependence between statement instances for a particular execution of an object oriented program. Based on the DODG, we present a two phase backward algorithm for computing a dynamic slice of an object oriented program. 展开更多
关键词 program slicing dynamic dependence graph object oriented program software maintenance debugging testing
暂未订购 下载PDF
基于条件执行切片谱的多错误定位 认领 引用 被引量:12
16
作者 文万志 李必信 +1 位作者 孙小兵 齐珊珊 《计算机研究与发展》 EI CSCD 北大核心 2013年第5期1030-1043,共14页
基于程序谱的错误定位技术由于其较高的定位效率已成为当前软件调试领域研究热点之一.这种技术通常根据测试覆盖信息计算程序语句发生错误的可疑度来进行错误定位.然而,这种技术会随着程序中错误数目的增多效率不断下降.鉴于此,提出了... 基于程序谱的错误定位技术由于其较高的定位效率已成为当前软件调试领域研究热点之一.这种技术通常根据测试覆盖信息计算程序语句发生错误的可疑度来进行错误定位.然而,这种技术会随着程序中错误数目的增多效率不断下降.鉴于此,提出了一种基于条件执行切片谱的多错误定位技术(conditioned execution slicing spectrum-based multiple fault localization,CESS-MFL),以提高多错误定位的效率.CESS-MFL技术首先根据输入变量的谓词条件构建错误相关条件执行切片的谱矩阵,然后依次计算错误相关条件执行切片中的元素(语句或语句块)的可疑度,并生成可疑度报告.实验验证了CESS-MFL技术比当前流行的基于程序谱的Tarantula技术、基于程序切片的Intersection技术、Union技术有更高的多错误定位效率,并且可在有效的时间和空间复杂度内完成. 展开更多
关键词 多错误定位 程序切片谱 程序谱 条件执行切片 软件调试
暂未订购 下载PDF
基于模糊C均值聚类的软件多缺陷定位方法 认领 引用 被引量:8
17
作者 王兴亚 姜淑娟 +4 位作者 高鹏飞 陆凯 薄莉莉 鞠小林 张艳梅 《计算机学报》 EI CAS CSCD 北大核心 2020年第2期206-232,共27页
缺陷间的相互干扰会使程序的频谱信息和运行结果发生变化,进而影响基于频谱信息的缺陷定位方法(SBFL)的有效性.本文对缺陷干扰现象进行了研究,通过分析单缺陷程序与多缺陷程序在缺陷运行、感染和传播过程及程序运行结果间的差异定义了... 缺陷间的相互干扰会使程序的频谱信息和运行结果发生变化,进而影响基于频谱信息的缺陷定位方法(SBFL)的有效性.本文对缺陷干扰现象进行了研究,通过分析单缺陷程序与多缺陷程序在缺陷运行、感染和传播过程及程序运行结果间的差异定义了两类缺陷干扰,并根据干扰前后缺陷在互斥子集中的分布变化分析了缺陷干扰对SBFL方法有效性的影响.研究结果表明:与特定缺陷无关的失败测试用例是降低SBFL方法缺陷定位有效性的主要原因.在此基础上,本文提出了一种基于模糊C均值聚类的多缺陷定位方法FCMFL:首先,通过模糊C均值聚类分析失败测试用例与不同缺陷间的隶属关系,得到每个缺陷相关的失败测试信息;其次,基于隶属度矩阵加权计算每条语句的可疑度,并通过互斥子集优先级分析确定不同语句集合的检查顺序,最终生成一个语句检查序列指导开发人员进行程序调试.实验结果表明:(1)缺陷干扰会对SBFL方法产生影响,降低SBFL方法的缺陷定位有效性;(2)FCMFL方法可以降低多缺陷对SBFL方法的影响,提高SBFL方法的缺陷定位有效性. 展开更多
关键词 程序调试 缺陷定位 程序切片 缺陷干扰 模糊聚类
暂未订购 下载PDF
程序切片技术在软件测试中的应用 认领 引用 被引量:14
18
作者 孙继荣 李志蜀 +2 位作者 王莉 殷锋 金虎 《计算机应用研究》 北大核心 2007年第5期210-213,217,共4页
基于程序切片的软件测试是一种以程序或程序和需求相结合为基础的测试,它根据程序的不同切片来缩小软件的测试范围、提高软件测试的效率、辅助测试数据的自动生成等。同时由于程序切片不仅考虑了数据依赖和控制依赖,还考虑了程序存在的... 基于程序切片的软件测试是一种以程序或程序和需求相结合为基础的测试,它根据程序的不同切片来缩小软件的测试范围、提高软件测试的效率、辅助测试数据的自动生成等。同时由于程序切片不仅考虑了数据依赖和控制依赖,还考虑了程序存在的其他各种依赖关系,使得测试的准确性得到提高。详细阐述了目前存在的各种切片技术及其应用领域,重点探讨了目前切片技术在测试领域中的具体应用。 展开更多
关键词 程序切片 软件测试 数据依赖 控制依赖 测试数据自动生成
暂未订购 下载PDF
提高路径敏感缺陷检测方法的效率及精度研究 认领 引用 被引量:9
19
作者 赵云山 宫云战 +2 位作者 刘莉 肖庆 杨朝红 《计算机学报》 EI CAS CSCD 北大核心 2011年第6期1100-1113,共14页
路径敏感的缺陷检测方法其缺陷状态会关联当前控制流节点的所有数据流信息,由于其中包含与缺陷检测无关的数据流,因此会导致分析效率下降.为了避免全路径敏感分析时的路径爆炸问题,一般会在控制流汇合节点进行缺陷状态合并,而这种粗糙... 路径敏感的缺陷检测方法其缺陷状态会关联当前控制流节点的所有数据流信息,由于其中包含与缺陷检测无关的数据流,因此会导致分析效率下降.为了避免全路径敏感分析时的路径爆炸问题,一般会在控制流汇合节点进行缺陷状态合并,而这种粗糙的合并策略带来的精度损失会引起误报.针对上述问题,文中提出一种基于缺陷的程序切片方法,该方法基于缺陷特征和路径条件建立切片准则,根据控制流节点上的数据流信息与切片准则的包含关系进行程序切片,得到的切片程序在缺陷检测时切片掉了缺陷无关节点且与源程序完全等价,以提高缺陷检测效率.为了进一步减少路径敏感分析方法的误报,提出一种基于切片的缺陷状态合并策略,根据控制流分支节点的路径条件,对缺陷状态添加状态属性,从而有选择地对控制流汇合节点进行状态合并,减少精度损失.文中所述方法已在缺陷检测系统(DTSGCC)中实现.对大量Linux中GCC开源工程的测试结果表明,文中提出的方法可以提高路径敏感缺陷检测方法的效率,并减少误报. 展开更多
关键词 静态分析 缺陷检测 路径敏感 误报 程序切片 上下文敏感分析 域敏感分析
暂未订购 下载PDF
一种基于异常传播分析的依赖性分析方法 认领 引用 被引量:10
20
作者 姜淑娟 徐宝文 +1 位作者 史亮 周晓宇 《软件学报》 EI 北大核心 2007年第4期832-841,共10页
在分析异常处理结构对程序依赖性分析影响的基础上,对传统的控制流图进行改进,提出了一种新的能够描述包括异常处理结构在内的函数内和函数间的C++程序的依赖性分析模型,并给出了相应的构造算法.该方法既克服了因忽略异常处理结构对程... 在分析异常处理结构对程序依赖性分析影响的基础上,对传统的控制流图进行改进,提出了一种新的能够描述包括异常处理结构在内的函数内和函数间的C++程序的依赖性分析模型,并给出了相应的构造算法.该方法既克服了因忽略异常处理结构对程序依赖性的影响而造成分析结果不准确的不足,又有助于实现基于异常传播的程序依赖性分析的自动处理.最后,对这种依赖性分析方法在程序切片中的应用作了进一步的探讨. 展开更多
关键词 异常处理 程序分析 异常传播 依赖性分析 程序切片 健壮性
暂未订购 下载PDF
上一页 1 2 11 下一页 到第
在线咨询 使用帮助 返回顶部 意见反馈