期刊文献+
共找到40篇文章
< 1 2 >
每页显示 20 50 100
程序切片技术在软件测试中的应用 被引量:14
1
作者 孙继荣 李志蜀 +2 位作者 王莉 殷锋 金虎 《计算机应用研究》 CSCD 北大核心 2007年第5期210-213,217,共5页
基于程序切片的软件测试是一种以程序或程序和需求相结合为基础的测试,它根据程序的不同切片来缩小软件的测试范围、提高软件测试的效率、辅助测试数据的自动生成等。同时由于程序切片不仅考虑了数据依赖和控制依赖,还考虑了程序存在的... 基于程序切片的软件测试是一种以程序或程序和需求相结合为基础的测试,它根据程序的不同切片来缩小软件的测试范围、提高软件测试的效率、辅助测试数据的自动生成等。同时由于程序切片不仅考虑了数据依赖和控制依赖,还考虑了程序存在的其他各种依赖关系,使得测试的准确性得到提高。详细阐述了目前存在的各种切片技术及其应用领域,重点探讨了目前切片技术在测试领域中的具体应用。 展开更多
关键词 程序切片 软件测试 数据依赖 控制依赖 测试数据自动生成
下载PDF
Gupta方法的改进 被引量:3
2
作者 单锦辉 王戟 +1 位作者 齐治昌 吴建平 《计算机学报》 EI CSCD 北大核心 2002年第12期1378-1386,共9页
Gupta等提出一种线性化谓词函数的方法 (简称 Gupta方法 ) ,为指定程序路径自动生成测试数据 .该文给出了一种模型语言 ,研究静态、动态数据依赖关系的性质以及 Gupta方法中各概念的形式化定义 ,将 Gupta等提出的谓词片推广为路径静态切... Gupta等提出一种线性化谓词函数的方法 (简称 Gupta方法 ) ,为指定程序路径自动生成测试数据 .该文给出了一种模型语言 ,研究静态、动态数据依赖关系的性质以及 Gupta方法中各概念的形式化定义 ,将 Gupta等提出的谓词片推广为路径静态切片 ,证明了路径静态切片构造算法的正确性 .对 Gupta方法的改进 ,省略了构造谓词片和输入依赖集的过程 ,改进后的方法构造线性约束的效率更高 .以改进后的方法为核心算法 ,开发了面向路径的测试数据自动生成的原型工具 ,并用实际的程序路径对该工具进行实验 .结果表明改进后的方法是比较有效的 . 展开更多
关键词 Gupta 测试数据自动生成 路径测试 软件测试 数据流分析 程序切片 线性化谓词函数
下载PDF
Dependence Analysis Based on Dynamic Slicing for Debugging 被引量:2
3
作者 Chen Zhen qiang 1, Xu Bao wen 1,2 1 Department of Computer Science & Engineering, Southeast University, Nanjing 210096, China 2 State Key Laboratory of Software Engineering, Wuhan University, Wuhan 430072, China 《Wuhan University Journal of Natural Sciences》 CAS 2001年第Z1期398-404,共7页
Dynamic program slicing is an effective technique for narrowing the errors to the relevant parts of a program when debugging. Given a slicing criterion, the dynamic slice contains only those statements that actually a... Dynamic program slicing is an effective technique for narrowing the errors to the relevant parts of a program when debugging. Given a slicing criterion, the dynamic slice contains only those statements that actually affect the variables in the slicing criterion. This paper proposes a dynamic slicing method based on static dependence analysis. It uses the program dependence graph and other static information to reduce the information needed to be traced during program execution. Thus, the efficiency is dramatically improved while the precision is not depressed. The slicing criterion is modified to fit for debugging. It consists of file name and the line number at which the statement is. 展开更多
关键词 program slice slicing criterion program dependence graph
下载PDF
基于程序过程间语义优化的深度学习漏洞检测方法 被引量:1
4
作者 李妍 羌卫中 +2 位作者 李珍 邹德清 金海 《网络与信息安全学报》 2023年第6期86-101,共16页
近年来,软件漏洞引发的安全事件层出不穷,及早发现并修补漏洞能够有效降低损失。传统的基于规则的漏洞检测方法依赖于专家定义规则,存在较高的漏报率,基于深度学习的方法能够自动学习漏洞程序的潜在特征,然而随着软件复杂程度的提升,该... 近年来,软件漏洞引发的安全事件层出不穷,及早发现并修补漏洞能够有效降低损失。传统的基于规则的漏洞检测方法依赖于专家定义规则,存在较高的漏报率,基于深度学习的方法能够自动学习漏洞程序的潜在特征,然而随着软件复杂程度的提升,该类方法在面对真实软件时存在精度下降的问题。一方面,现有方法执行漏洞检测时大多在函数级工作,无法处理跨函数的漏洞样例;另一方面,BGRU和BLSTM等模型在输入序列过长时性能下降,不善于捕捉程序语句间的长期依赖关系。针对上述问题,优化了现有的程序切片方法,结合过程内和过程间切片对跨函数的漏洞进行全面的上下文分析以捕获漏洞触发的完整因果关系;应用了包含多头注意力机制的Transformer神经网络模型执行漏洞检测任务,共同关注来自不同表示子空间的信息来提取节点的深层特征,相较于循环神经网络解决了信息衰减的问题,能够更有效地学习源程序的语法和语义信息。实验结果表明,该方法在真实软件数据集上的F1分数达到了73.4%,相较于对比方法提升了13.6%~40.8%,并成功检测出多个开源软件漏洞,证明了其有效性与实用性。 展开更多
关键词 漏洞检测 程序切片 深度学习 注意力机制
下载PDF
计算面向对象程序切片技术研究 被引量:2
5
作者 杜林 江海燕 《山东大学学报(工学版)》 CAS 2008年第6期41-47,共7页
提出了把波动效应分析和系统依赖图结合起来进行切片的方法,通过波动效应分析反映面向对象程序中单元间的波动关系,基于系统依赖图切片侧重于分析控制依赖和数据依赖.分析了面向对象程序中的波动效应,扩展了粗粒度切片的含义,并且把波... 提出了把波动效应分析和系统依赖图结合起来进行切片的方法,通过波动效应分析反映面向对象程序中单元间的波动关系,基于系统依赖图切片侧重于分析控制依赖和数据依赖.分析了面向对象程序中的波动效应,扩展了粗粒度切片的含义,并且把波动结果映射到切片中.通过构造类图和改造传统系统依赖图来构造面向对象系统依赖图.分别给出了波动效应分析、构造系统依赖图以及切片的算法实现,并进行了复杂度分析. 展开更多
关键词 程序切片 波动效应 系统依赖图
下载PDF
一种基于程序功能标签切片的制导符号执行分析方法 被引量:4
6
作者 甘水滔 王林章 +3 位作者 谢向辉 秦晓军 周林 陈左宁 《软件学报》 EI CSCD 北大核心 2019年第11期3259-3280,共22页
提出了一种基于程序功能标签切片的制导符号执行分析方法OPT-SSE.该方法从程序功能文档提取功能标签,利用程序控制流分析,建立各功能标签和程序基本块的映射关系,并根据功能标签在程序执行中的顺序关系生成功能标签执行流.针对给定的代... 提出了一种基于程序功能标签切片的制导符号执行分析方法OPT-SSE.该方法从程序功能文档提取功能标签,利用程序控制流分析,建立各功能标签和程序基本块的映射关系,并根据功能标签在程序执行中的顺序关系生成功能标签执行流.针对给定的代码目标点,提取与之相关的功能执行流切片,根据预定义好的功能标签流制导规则进行符号执行分析,在路径分析过程中,及时裁剪无关的功能分支路径以提升制导效率.通过对不同的功能标签流进行分离制导符号执行分析,可避免一直执行某复杂循环体的情形,从而提高对目标程序的整体分支覆盖率和指令覆盖率.实验结果表明,通过对binutils、gzip、coreutils等10个不同软件中的20个应用工具上的分析,OPT-SSE与KLEE提供的主流搜索策略相比,代码目标制导速度平均提升到4.238倍,代码目标制导成功率平均提升了31%,程序指令覆盖率平均提升了8.95%,程序分支覆盖率平均提升了8.28%. 展开更多
关键词 制导符号执行 分支覆盖率 指令覆盖率 搜索策略 程序切片
下载PDF
一种基于类的Java多线程程序数据竞争静态检测算法 被引量:3
7
作者 宋东海 贲可荣 张志祥 《计算机工程与科学》 CSCD 北大核心 2014年第2期233-237,共5页
多线程并发程序的广泛使用引发了更多的数据竞争问题,竞争检测对于提高软件质量具有重要意义。将竞争静态检测和静态切片分析结合起来,提出了一种基于类的Java数据竞争静态检测算法,该算法利用函数调用层次获得函数调用链,对类域进行分... 多线程并发程序的广泛使用引发了更多的数据竞争问题,竞争检测对于提高软件质量具有重要意义。将竞争静态检测和静态切片分析结合起来,提出了一种基于类的Java数据竞争静态检测算法,该算法利用函数调用层次获得函数调用链,对类域进行分析,找出可能数据竞争,通过静态切片缩小程序分析范围,并结合数据竞争的必要条件,去掉不可能数据竞争。实例表明,该算法可用于指导修复程序中的竞争缺陷。 展开更多
关键词 多线程程序 数据竞争 程序切片 静态分析 竞争检测
下载PDF
基于程序切片的电路提取技术 被引量:3
8
作者 朱丹 李暾 +2 位作者 万海 郭阳 李思昆 《国防科技大学学报》 EI CAS CSCD 北大核心 2003年第6期10-15,共6页
从HDL设计描述中提取电路在VLSI设计验证、低功耗分析、测试生成等方面有广泛的应用需求。提出了一种采用程序切片技术实现的新的电路提取方法,并深入论述了基于程序切片技术从Verilog描述中进行电路提取的理论基础。该方法可以为每一... 从HDL设计描述中提取电路在VLSI设计验证、低功耗分析、测试生成等方面有广泛的应用需求。提出了一种采用程序切片技术实现的新的电路提取方法,并深入论述了基于程序切片技术从Verilog描述中进行电路提取的理论基础。该方法可以为每一个感兴趣的信号获取其"链接切片"。与以前的方法相比,该方法的优点是细粒度的、不受书写格式的限制,并且能处理更多Verilog的语法元素。该方法已经被集成到现有设计流程中,实验结果表明其方便、高效,有良好的通用性。 展开更多
关键词 程序切片 链接切片 进程依赖图 电路提取
下载PDF
基于图神经网络的源码漏洞检测方法研究 被引量:1
9
作者 宋子韬 胡勇 《通信技术》 2022年第5期640-645,共6页
针对现有的静态代码分析工具有较高的误报率与漏报率,提出一种基于切片依赖图(Slice Dependency Graph,SDG)的自动化漏洞检测方法,将程序源代码解析为包含数据依赖和控制依赖信息的切片依赖图,然后使用图神经网络对切片依赖图的结构进... 针对现有的静态代码分析工具有较高的误报率与漏报率,提出一种基于切片依赖图(Slice Dependency Graph,SDG)的自动化漏洞检测方法,将程序源代码解析为包含数据依赖和控制依赖信息的切片依赖图,然后使用图神经网络对切片依赖图的结构进行表征学习,最后使用训练的神经网络模型预测待测程序源代码中的漏洞。在5类常见缺陷分类(Common Weakness Enumeration,CWE)样本构成的数据集上开展了实验,结果表明误报率和漏报率均低于作为对比的其他方法,准确率和F1得分两个指标均有提高,因此所提方法能有效提高漏洞检测能力。 展开更多
关键词 源代码漏洞检测 程序依赖图 程序切片 图神经网络
下载PDF
Source Code Prioritization Using Forward Slicing for Exposing Critical Elements in a Program 被引量:1
10
作者 Mitrabinda Ray Kanhaiya lal Kumawat Durga Prasad Mohapatra 《Journal of Computer Science & Technology》 SCIE EI CSCD 2011年第2期314-327,共14页
Even after thorough testing, a few bugs still remain in a program with moderate complexity. These residual bugs are randomly distributed throughout the code. We have noticed that bugs in some parts of a program cause ... Even after thorough testing, a few bugs still remain in a program with moderate complexity. These residual bugs are randomly distributed throughout the code. We have noticed that bugs in some parts of a program cause frequent and severe failures compared to those in other parts. Then, it is necessary to take a decision about what to test more and what to test less within the testing budget. It is possible to prioritize the methods and classes of an object-oriented program according to their potential to cause failures. For this, we propose a program metric called influence metric to find the influence of a program element on the source code. First, we represent the source code into an intermediate graph called extended system dependence graph. Then, forward slicing is applied on a node of the graph to get the influence of that node. The influence metric for a method m in a program shows the number of statements of the program which directly or indirectly use the result produced by method m. We compute the influence metric for a class c based on the influence metric of all its methods. As influence metric is computed statically, it does not show the expected behavior of a class at run time. It is already known that faults in highly executed parts tend to more failures. Therefore, we have considered operational profile to find the average execution time of a class in a system. Then, classes are prioritized in the source code based on influence metric and average execution time. The priority of an element indicates the potential of the element to cause failures. Once all program elements have been prioritized, the testing effort can be apportioned so that the elements causing frequent failures will be tested thoroughly. We have conducted experiments for two well-known case studies -- Library Management System and Trading Automation System -- and successfully identified critical elements in the source code of each case study. We have also conducted experiments to compare our scheme with a related scheme. The experime 展开更多
关键词 program slice extended system dependence graph influence of a class test priority
原文传递
Automatic Circuit Extractor for HDL Description Using Program Slicing 被引量:1
11
作者 TunLi YangGuo Si-KunLi 《Journal of Computer Science & Technology》 SCIE EI CSCD 2004年第5期718-728,共11页
Design extraction and reduction have been extensively used in modern VLSI design process. The extracted and reduced design can be efficiently processed by various applications, such as formal verification, simulation,... Design extraction and reduction have been extensively used in modern VLSI design process. The extracted and reduced design can be efficiently processed by various applications, such as formal verification, simulation, automatic test pattern generation (ATPG), etc. This paper presents a new circuit extraction method using program slicing technique, and develops an elegant theoretical basis based on program slicing for circuit extraction from Verilog description. The technique can obtain a chaining slice for given signals of interest. Compared with related researches, the main advantages of the method include that it is fine grain, it has no hardware description language (HDL) coding style limitation; it is precise and is capable of dealing with various Verilog constructions. The technique has been integrated with a commercial simulation environment and incorporated into a design process. The results of practical designs show the significant benefits of the approach. 展开更多
关键词 program slicing chaining slice process dependence graph circuit extraction VLSI functional verification
原文传递
程序源代码中的切片摘要提取及在搜索中的应用 被引量:2
12
作者 李润青 曾国荪 《信息技术与网络安全》 2018年第3期122-125,130,共5页
在编写程序代码的过程中,软件工程师常常花费大量的时间来搜索和重用代码,为了快速和准确搜索源代码,提高源代码重用效率,开展了程序源代码切片摘要获取方法研究。通过分析源代码的结构特征,给出了变量切片的定义。选取与函数代码段核... 在编写程序代码的过程中,软件工程师常常花费大量的时间来搜索和重用代码,为了快速和准确搜索源代码,提高源代码重用效率,开展了程序源代码切片摘要获取方法研究。通过分析源代码的结构特征,给出了变量切片的定义。选取与函数代码段核心功能密切相关的变量,联合其变量切片形成切片摘要,以反映源代码的结构和功能信息。然后分别设计了变量切片算法和切片摘要提取算法,并且将切片摘要应用于开源代码搜索引擎中。应用实验表明:本文提出的方法具有可行性,且较传统搜索方法在搜索精度上有较大的提高。 展开更多
关键词 程序设计 开源代码 切片摘要 搜索引擎
下载PDF
面向对象软件的技术度量
13
作者 朱武 汤铭端 《计算机工程与设计》 CSCD 北大核心 2007年第16期3822-3824,共3页
软件度量学是软件工程领域的一个重要研究方向。通过软件度量,可以改进软件的体系结构,采用合适的软件开发过程,从而降低软件开发的成本,提高软件开发的效率,保证软件能满足用户的需求,开发出高质量的软件。分析了面向对象软件度量的特... 软件度量学是软件工程领域的一个重要研究方向。通过软件度量,可以改进软件的体系结构,采用合适的软件开发过程,从而降低软件开发的成本,提高软件开发的效率,保证软件能满足用户的需求,开发出高质量的软件。分析了面向对象软件度量的特点,阐述了常用的面向对象软件度量方法,并在此基础上提出了以切片为中心的度量方法。 展开更多
关键词 面向对象 软件度量 程序复杂性 复杂性度量 切片
下载PDF
一个分层切片工具模型 被引量:1
14
作者 谭毅 朱平 +1 位作者 李必信 郑国梁 《计算机科学》 CSCD 北大核心 2001年第12期93-96,共4页
Most of the traditional methods of slicing are based on dependence graph. But constructing dependence graph for object oriented programs directly is very complicated. The design and implementation of a hierarchical sl... Most of the traditional methods of slicing are based on dependence graph. But constructing dependence graph for object oriented programs directly is very complicated. The design and implementation of a hierarchical slicing tool model are described. By constructing the package level dependence graph, class level dependence graph, method level dependence graph and statement level dependence graph, package level slice, class level slice, method level slice and program slice are obtained step by step. 展开更多
关键词 程序分层切片工具 面向对象 软件理解
下载PDF
基于分块切片的软件错误定位技术 被引量:1
15
作者 文万志 陈建平 +1 位作者 陈翔 鞠小林 《计算机工程与设计》 北大核心 2015年第12期3258-3263,3301,共7页
鉴于基于谱的软件错误定位技术缺乏依赖分析及存在过多不可区分的语句问题,给出一种基于分块切片的软件错误定位技术BSlicing-SFL(block slicing based software fault localization)的实现方法。基于不可区分块间数据依赖和控制依赖构... 鉴于基于谱的软件错误定位技术缺乏依赖分析及存在过多不可区分的语句问题,给出一种基于分块切片的软件错误定位技术BSlicing-SFL(block slicing based software fault localization)的实现方法。基于不可区分块间数据依赖和控制依赖构建系统依赖图并生成分块切片,在此基础之上,统计计算切片内元素可疑度值进行错误定位。通过3个实际应用程序验证了分块切片的约减度及BSlicing-SFL技术的有效性。 展开更多
关键词 程序切片 软件错误定位 程序频谱 系统依赖图 分块切片
下载PDF
基于依赖图等价代换的SSDG构建算法 被引量:1
16
作者 徐东 狄效国 +1 位作者 孟宇龙 冯晓宁 《计算机工程》 CAS CSCD 北大核心 2015年第12期91-95,100,共6页
已有软件语义分析方法普遍存在时间复杂度高、准确率低的问题。为此,基于抽象语法树,提出一种根据控制依赖图构建程序控制流图的算法,并在对依赖图进行等价代换的基础上简化该算法。通过对目标程序进行等价代换,并使用程序依赖图替换程... 已有软件语义分析方法普遍存在时间复杂度高、准确率低的问题。为此,基于抽象语法树,提出一种根据控制依赖图构建程序控制流图的算法,并在对依赖图进行等价代换的基础上简化该算法。通过对目标程序进行等价代换,并使用程序依赖图替换程序系统依赖图,改进传统系统依赖图的构建流程。实验结果表明,该算法可有效降低构建系统依赖图的复杂度,并能提高程序切片的速率。 展开更多
关键词 语义分析 控制流图 系统依赖图 程序切片 程序依赖 数据依赖
下载PDF
一种基于调用链的Java程序数据竞争静态检测算法 被引量:1
17
作者 宋东海 陈二虎 《舰船电子工程》 2013年第12期53-57,共5页
多线程并发程序的广泛使用引发了更多的数据竞争问题,竞争检测对于提高软件质量具有重要意义。论文将竞争静态检测和静态切片分析结合起来,提出了一种类层次的Java数据竞争静态检测算法,该算法利用函数调用层次获得函数调用链,对类域进... 多线程并发程序的广泛使用引发了更多的数据竞争问题,竞争检测对于提高软件质量具有重要意义。论文将竞争静态检测和静态切片分析结合起来,提出了一种类层次的Java数据竞争静态检测算法,该算法利用函数调用层次获得函数调用链,对类域进行分析,找出可能数据竞争,通过静态切片缩小程序分析范围,并结合数据竞争的必要条件,去掉不可能数据竞争。实例表明,该算法可用于指导修复程序中的竞争缺陷。 展开更多
关键词 数据竞争 程序切片 静态分析 竞争检测
下载PDF
一种C++程序的分层切片方法
18
作者 任凌燕 刘坚 《计算机工程与应用》 CSCD 北大核心 2003年第23期132-134,共3页
该文介绍了一种C++程序的分层切片方法。通过构造系统程序层依赖图、类层依赖图、方法层依赖图和语句层依赖图,对C++程序进行分层切片,有效地表示了C++中的单重继承、多重继承、多态和动态绑定,该方法比其它C++切片技术更清晰地描述了C+... 该文介绍了一种C++程序的分层切片方法。通过构造系统程序层依赖图、类层依赖图、方法层依赖图和语句层依赖图,对C++程序进行分层切片,有效地表示了C++中的单重继承、多重继承、多态和动态绑定,该方法比其它C++切片技术更清晰地描述了C++程序中类之间的各种关系和消息传递机制。 展开更多
关键词 程序切片 分层切片 依赖图 C++程序
下载PDF
基于层次切片模型的JAVA相互作用耦合度量 被引量:1
19
作者 莫军辉 李必信 《华中科技大学学报(自然科学版)》 EI CAS CSCD 北大核心 2005年第z1期198-201,共4页
在Eder等人提出的三维耦合度量框架基础上,基于层次切片模型对JAVA中的相互作用耦合进行了研究,得到了JAVA中存在的相互作用耦合类型,并建立了一系列形式化的相互作用耦合度量公式.相对传统的耦合性度量,基于层次切片技术的耦合性度量... 在Eder等人提出的三维耦合度量框架基础上,基于层次切片模型对JAVA中的相互作用耦合进行了研究,得到了JAVA中存在的相互作用耦合类型,并建立了一系列形式化的相互作用耦合度量公式.相对传统的耦合性度量,基于层次切片技术的耦合性度量更加精确,它不仅描述了度量对象之间的耦合关系,并在一定程度上描述了度量对象之间的耦合程度,从而为程序分析和理解等软件活动提供更多有用的信息. 展开更多
关键词 层次切片模型 耦合度 相互作用耦合 程序切片
下载PDF
IA-64二进制翻译中跳转表恢复技术 被引量:1
20
作者 苏铭 宋宗宇 +1 位作者 赵荣彩 齐宁 《微计算机信息》 北大核心 2005年第09X期135-136,共2页
基于IA-64体系结构下二进制翻译系统,本文提出了应用过程内静态切片技术恢复索引跳转中跳转表以及目标地址的解决方案。并通过在IA-64体系结构上对C和C++编译器产生的代码进行测试,表明通过该技术可以很好的解决二进制翻译中跳转表的恢... 基于IA-64体系结构下二进制翻译系统,本文提出了应用过程内静态切片技术恢复索引跳转中跳转表以及目标地址的解决方案。并通过在IA-64体系结构上对C和C++编译器产生的代码进行测试,表明通过该技术可以很好的解决二进制翻译中跳转表的恢复问题,提高二进制解码的覆盖率。 展开更多
关键词 程序切片 二进制翻译 跳转表
下载PDF
上一页 1 2 下一页 到第
使用帮助 返回顶部