期刊文献+
共找到135篇文章
< 1 2 7 >
每页显示 20 50 100
SHFuzz:A Hybrid Fuzzing Method Assisted by Static Analysis for Binary Programs 被引量:1
1
作者 Wenjie Wang Donghai Tian +4 位作者 Rui Ma Hang Wei Qianjin Ying Xiaoqi Jia Lei Zuo 《China Communications》 SCIE CSCD 2021年第8期1-16,共16页
Fuzzing is an effective technique to find security bugs in programs by quickly exploring the input space of programs.To further discover vulnerabilities hidden in deep execution paths,the hybrid fuzzing combines fuzzi... Fuzzing is an effective technique to find security bugs in programs by quickly exploring the input space of programs.To further discover vulnerabilities hidden in deep execution paths,the hybrid fuzzing combines fuzzing and concolic execution for going through complex branch conditions.In general,we observe that the execution path which comes across more and complex basic blocks may have a higher chance of containing a security bug.Based on this observation,we propose a hybrid fuzzing method assisted by static analysis for binary programs.The basic idea of our method is to prioritize seed inputs according to the complexity of their associated execution paths.For this purpose,we utilize static analysis to evaluate the complexity of each basic block and employ the hardware trace mechanism to dynamically extract the execution path for calculating the seed inputs’weights.The key advantage of our method is that our system can test binary programs efficiently by using the hardware trace and hybrid fuzzing.To evaluate the effectiveness of our method,we design and implement a prototype system,namely SHFuzz.The evaluation results show SHFuzz discovers more unique crashes on several real-world applications and the LAVA-M dataset when compared to the previous solutions. 展开更多
关键词 hybrid fuzzing static analysis concolic execution binary programs
在线阅读 下载PDF
Incremental Static Analysis of 2D Flow by Inter-Colliding Point-Particles and Use of Incompressible Rhombic Element 被引量:1
2
作者 Panagis G. Papadopoulos Christopher G. Koutitas Panos P. Lazaridis 《Open Journal of Civil Engineering》 2016年第3期397-409,共13页
A simple method is proposed, for incremental static analysis of a set of inter-colliding particles, simulating 2D flow. Within each step of proposed algorithm, the particles perform small displacements, proportional t... A simple method is proposed, for incremental static analysis of a set of inter-colliding particles, simulating 2D flow. Within each step of proposed algorithm, the particles perform small displacements, proportional to the out-of-balance forces, acting on them. Numerical experiments show that if the liquid is confined within boundaries of a set of inter-communicating vessels, then the proposed method converges to a final equilibrium state. This incremental static analysis approximates dynamic behavior with strong damping and can provide information, as a first approximation to 2D movement of a liquid. In the initial arrangement of particles, a rhombic element is proposed, which assures satisfactory incompressibility of the fluid. Based on the proposed algorithm, a simple and short computer program (a “pocket” program) has been developed, with only about 120 Fortran instructions. This program is first applied to an amount of liquid, contained in a single vessel. A coarse and refined discretization is tried. In final equilibrium state of liquid, the distribution on hydro-static pressure on vessel boundaries, obtained by proposed computational model, is found in satisfactory approximation with corresponding theoretical data. Then, an opening is formed, at the bottom of a vertical boundary of initial vessel, and the liquid is allowed to flow gradually to an adjacent vessel. Almost whole amount of liquid is transferred, from first to second vessel, except of few drops-particles, which remain, in equilibrium, at the bottom of initial vessel. In the final equilibrium state of liquid, in the second vessel, the free surface level of the liquid confirms that the proposed rhombing element assures a satisfactory incompressibility of the fluid. 展开更多
关键词 2D Flow Simulation Inter-Colliding Point-Particles Incremental static analysis Incompressible Rhombic Element Hydro-static Pressure Distribution Flow from a Vessel to Another One “Pocket” Special Purpose Computer program
在线阅读 下载PDF
An Empirical Application of User-Guided Program Analysis
3
作者 Wang Jigang Cheng Shengyu +1 位作者 Cao Jicheng He Meihua 《China Communications》 SCIE CSCD 2024年第7期325-333,共9页
Although static program analysis methods are frequently employed to enhance software quality,their efficiency in commercial settings is limited by their high false positive rate.The EUGENE tool can effectively lower t... Although static program analysis methods are frequently employed to enhance software quality,their efficiency in commercial settings is limited by their high false positive rate.The EUGENE tool can effectively lower the false positive rate.However,in continuous integration(CI)environments,the code is always changing,and user feedback from one version of the software cannot be applied to a subsequent version.Additionally,people find it difficult to distinguish between true positives and false positives in the analytical output.In this study,we developed the EUGENE-CI technique to address the CI problem and the EUGENE-rank lightweight heuristic algorithm to rate the reports of the analysis output in accordance with the likelihood that they are true positives.On the three projects ethereum,go-cloud,and kubernetes,we assessed our methodologies.According to the trial findings,EUGENE-CI may drastically reduce false positives while EUGENE-rank can make it much easier for users to identify the real positives among a vast number of reports.We paired our techniques with GoInsight~1 and discovered a vulnerability.We also offered a patch to the community. 展开更多
关键词 continuous integration report ranking static program analysis
在线阅读 下载PDF
VisLint:An Automated Static Analysis Approach for Visual Programming
4
作者 Xiaolin Chai Yan Sun 《Tsinghua Science and Technology》 2026年第1期542-563,共22页
Block-based visual programming languages enable programmers to focus on programming thinking without excessive coding or syntax attention.We find that projects written in visual programming languages like Scratch also... Block-based visual programming languages enable programmers to focus on programming thinking without excessive coding or syntax attention.We find that projects written in visual programming languages like Scratch also have bugs and code smells that cannot be avoided automatically.Existing studies analyze these problems by converting code into Abstract Syntax Trees(ASTs)before analysis.This process is time-consuming and analyzing the AST directly can be complex.In this paper,we propose a novel code image-based static analysis approach for visual programming languages,which mines code patterns in images to pre-determine whether there are problems in projects without parsing them first.We train a code image object detection network to judge whether the input projects are likely to have bugs or smells.Further analysis is performed only on potentially problematic projects.Based on the proposals of the detection network,we analyze the key areas of the AST and identify the specific code problems.Experiments show that compared with others,our method can quickly determine code problems and accurately locate them.For the code image detection task,the improved model can achieve higher mean average precision(MAP)faster in the training phase,while the model is smaller and faster in inference. 展开更多
关键词 visual programming SCRATCH static analysis code quality object detection
原文传递
Using Deep Learning to Improve Automated Program Static Assessment
5
作者 Tao Lin Ming Li +2 位作者 Zhiming Wu Mei Hong Yuxia Yang 《计算机教育》 2020年第12期85-94,共10页
Evaluation is an essential part of the teaching process,especially in the programming course.Both students and teachers can benefit significantly from automatic program evaluation.It shortens the time required for ass... Evaluation is an essential part of the teaching process,especially in the programming course.Both students and teachers can benefit significantly from automatic program evaluation.It shortens the time required for assessment so that students can get immediate feedback.At the same time,it can also significantly reduce the workload of teachers.Currently,the automated program assessment system mainly uses a combination of static and dynamic analysis methods.The system is faced with two crucial problems of the unfinished code evaluation and the template code construction.This paper proposes a method of combining deep learning with static analysis.The syntax tree repair is used to solve the problem that the code with compiling errors cannot generate the correct syntax tree.Moreover,the target code is converted to a subset of solution space through the syntax tree standardization,which reduces the number of template code needed.Based on deep learning,the embedded token vector keeps the code’s context all the time,which ensures that the lexical-semantic remains unchanged as much as possible after the syntax tree changes.Finally,the standardized tree is represented as a vector by the recursive neural network.Cosine similarity between target and template code vectors is used as an evaluation score.The experiment shows that the similarity scores obtained by this method are consistent with the expert scores.This method can provide support for future research,such as difficult feedback and has great significance. 展开更多
关键词 deep learning automated program assessment static analysis abstract syntax tree
在线阅读 下载PDF
A Generic Graph Model for WCET Analysis of Multi-Core Concurrent Applications
6
作者 Robert Mittermayr Johann Blieberger 《Journal of Software Engineering and Applications》 2016年第5期182-198,共17页
Worst-case execution time (WCET) analysis of multi-threaded software is still a challenge. This comes mainly from the fact that synchronization has to be taken into account. In this paper, we focus on this issue and o... Worst-case execution time (WCET) analysis of multi-threaded software is still a challenge. This comes mainly from the fact that synchronization has to be taken into account. In this paper, we focus on this issue and on automatically calculating and incorporating stalling times (e.g. caused by lock contention) in a generic graph model. The idea that thread interleavings can be studied with a matrix calculus is novel in this research area. Our sparse matrix representations of the program are manipulated using an extended Kronecker algebra. The resulting graph represents multi-threaded programs similar as CFGs do for sequential programs. With this graph model, we are able to calculate the WCET of multi-threaded concurrent programs including stalling times which are due to synchronization. We employ a generating function-based approach for setting up data flow equations which are solved by well-known elimination-based dataflow analysis methods or an off-the-shelf equation solver. The WCET of multi-threaded programs can finally be calculated with a non-linear function solver. 展开更多
关键词 Worst-Case Execution Time analysis program analysis CONCURRENCY multi-threaded programs Kronecker Algebra
在线阅读 下载PDF
P_(ARF):An Adaptive Abstraction-Strategy Tuner for Static Analysis
7
作者 Zhong-Yi Wang Ming-Shuai Chen +6 位作者 Teng-Jie Lin Lin-Yu Yang Jun-Hao Zhuo Qiu-Ye Wang Sheng-Chao Qin Xiao Yi Jian-Wei Yin 《Journal of Computer Science & Technology》 2025年第4期993-1005,共13页
We launch P_(ARF)—a toolkit for adaptively tuning abstraction strategies of static program analyzers in a fully automated manner.P_(ARF) models various types of external parameters(encoding abstraction strategies)as ... We launch P_(ARF)—a toolkit for adaptively tuning abstraction strategies of static program analyzers in a fully automated manner.P_(ARF) models various types of external parameters(encoding abstraction strategies)as random variables subject to probability distributions over latticed parameter spaces.It incrementally refines the probability distributions based on accumulated intermediate results generated by repeatedly sampling and analyzing,thereby ultimately yielding a set of highly accurate abstraction strategies.P_(ARF) is implemented on top of F_(RAMA)-C/E_(VA)—an off-the-shelf open-source static analyzer for C programs.P_(ARF) provides a web-based user interface facilitating the intuitive configuration of static analyzers and visualization of dynamic distribution refinement of the abstraction strategies.It further supports the identification of dominant parameters in F_(RAMA)-C/E_(VA) analysis.Benchmark experiments and a case study demonstrate the competitive performance of P_(ARF) for analyzing complex,large-scale real-world programs. 展开更多
关键词 automatic parameter tuning F_(RAMA)-C/E_(VA) program verification static analysis abstraction strategy
原文传递
Static program analysis for IoT risk mitigation in space-air-ground integrated networks 被引量:1
8
作者 Haotian Deng Tao Liu +4 位作者 Xiaochen Ma Weijie Wang Chuan Zhang Huishu Wu Liehuang Zhu 《Security and Safety》 2024年第2期43-57,共15页
The space-air-ground integrated networks(SAGINs)are pivotal for modern communication and surveillance,with a growing number of connected devices.The proliferation of Io T devices within these networks introduces new r... The space-air-ground integrated networks(SAGINs)are pivotal for modern communication and surveillance,with a growing number of connected devices.The proliferation of Io T devices within these networks introduces new risks due to potential erroneous synergistic interactions that could compromise system integrity and security.This paper addresses the challenges in coordination,synchronization,and security within SAGINs by introducing a novel static program analysis(SPA)technique using zero-knowledge(ZK)proofs.This approach ensures the detection of risky interactions without compromising sensitive source code,thus safeguarding intellectual property and privacy.The proposed method overcomes the incompatibility between SPA and ZK systems by developing an imperative programming language for SAGINs and a specialized abstract domain for interaction threats.The system translates network control algorithms into arithmetic circuits suitable for ZK analysis,maintaining high accuracy in detecting risks.Evaluations of real-world scenarios demonstrate the system's efficacy in identifying risky interactions with minimal computational overhead.This research presents the first ZK-based SPA scheme for SAGINs,enhancing security and confidentiality in network analysis while adhering to privacy regulations. 展开更多
关键词 Space-air-ground static program analysis abstract Interpretation zeroknowledge proof
原文传递
物联网设备固件自动化漏洞挖掘技术研究综述 被引量:3
9
作者 刘航天 甘水滔 +5 位作者 张超 张红旗 孙文厚 高子聪 赵敏 白雪 《网络与信息安全学报》 2025年第2期26-49,共24页
随着物联网技术的广泛应用,物联网设备爆炸式增长。近年来,物联网设备导致的安全事件频发,使得物联网设备安全研究成为热点。首先,对物联网设备固件的安全特性(包括黑盒特性、网络特性和定制化特性)进行了深入剖析,这些特性给自动化漏... 随着物联网技术的广泛应用,物联网设备爆炸式增长。近年来,物联网设备导致的安全事件频发,使得物联网设备安全研究成为热点。首先,对物联网设备固件的安全特性(包括黑盒特性、网络特性和定制化特性)进行了深入剖析,这些特性给自动化漏洞挖掘带来了新的挑战。固件代码闭源、运行环境封闭、网络交互复杂、软硬件高度定制化,这些都增加了固件安全分析的难度。针对这些挑战,研究人员研发了一系列解决方案。通过对现有文献进行综合分析,从黑盒模糊测试、灰盒模糊测试、静态程序分析和固件重托管4个方面,总结了物联网设备固件自动化漏洞挖掘技术的最新研究进展。在此基础上,分析了尚存在的挑战和不足,并提出了未来的研究方向和思路,包括多种技术有机组合的发展趋势、大语言模型在自动化漏洞挖掘中的应用前景,以及物联网技术演进驱动漏洞挖掘技术的同步升级。通过对物联网设备固件自动化漏洞挖掘技术现状及发展趋势的深入剖析和总结,为业界下一步研究及应用提供有价值的参考。 展开更多
关键词 物联网设备 黑盒模糊测试 灰盒模糊测试 静态程序分析 固件重托管 大语言模型
在线阅读 下载PDF
融合静态程序分析与集成学习的Android代码异味共存检测
10
作者 王祯启 边奕心 +2 位作者 马偌楠 毕博宇 王金鑫 《计算机应用研究》 北大核心 2025年第4期1167-1176,共10页
相对于单一种类的代码异味,异味共存对程序更具危害性。针对Android特有代码异味,现有研究主要关注单一种类异味的检测,忽略异味共存对Android应用程序的负面影响。为识别共存的Android特有代码异味,提出融合静态程序分析与集成学习的An... 相对于单一种类的代码异味,异味共存对程序更具危害性。针对Android特有代码异味,现有研究主要关注单一种类异味的检测,忽略异味共存对Android应用程序的负面影响。为识别共存的Android特有代码异味,提出融合静态程序分析与集成学习的Android代码异味共存检测方法。作为初步研究,识别忽略类成员变量的方法异味与缺少低内存处理程序异味的共存。首先,提出基于静态程序分析的Android代码异味共存检测方法和正负样本自动生成方法并实现工具ASSD。该工具的输出为后续集成学习模型提供丰富的训练样本。然后,针对单一机器学习模型泛化能力有限的问题,提出一种软投票集成学习模型,识别共存的Android代码异味。该模型不仅可以集成传统机器学习模型,还可以集成改进的深度学习模型。实验结果表明,所提方法优于已有基于静态程序分析的检测方法,F_(1)值提升了26.1百分点。此外,基于传统机器学习的软投票集成学习模型优于基于深度学习的软投票集成学习模型,F_(1)值提升了6.1百分点。所提方法可以实现Android代码异味共存的检测。 展开更多
关键词 Android代码异味共存 软投票 集成学习 静态程序分析
在线阅读 下载PDF
基于语句类型优先级的故障定位方法实证分析
11
作者 李光杰 何焱 +1 位作者 唐艺 王郁夫 《智能安全》 2025年第4期35-44,共10页
准确的故障定位对软件调试至关重要。现有方法多依赖测试用例的动态执行信息或源代码的静态特征,但语句类型与故障率之间的定量关系尚未明确。本文通过定量分析发现,语句类型对故障率有显著影响。因此,本文提出一种基于语句类型优先级... 准确的故障定位对软件调试至关重要。现有方法多依赖测试用例的动态执行信息或源代码的静态特征,但语句类型与故障率之间的定量关系尚未明确。本文通过定量分析发现,语句类型对故障率有显著影响。因此,本文提出一种基于语句类型优先级的混合故障定位方法,该方法首先利用现有故障定位技术计算软件故障概率,然后基于每种语句类型的相对错误率(本文实证研究结果)为每个可疑语句重新计算故障概率和分配优先级。实验表明,该方法显著提升了现有故障定位方法的性能,与基于频谱的故障定位和基于变异的故障定位方法相比,Top-1故障召回率分别提高43.5%和36.8%。这一发现为语句级细粒度故障定位提供了新的研究方向和实践价值。 展开更多
关键词 软件缺陷 故障定位 静态程序分析 实证研究 软件工程
在线阅读 下载PDF
程序分析研究进展 被引量:55
12
作者 张健 张超 +8 位作者 玄跻峰 熊英飞 王千祥 梁彬 李炼 窦文生 陈振邦 陈立前 蔡彦 《软件学报》 EI CSCD 北大核心 2019年第1期80-109,共30页
在信息化时代,人们对软件的质量要求越来越高.程序分析是保障软件质量的重要手段之一,日益受到学术界和产业界的重视.介绍了若干基本程序分析技术(抽象解释、数据流分析、基于摘要的分析、符号执行、动态分析、基于机器学习的程序分析... 在信息化时代,人们对软件的质量要求越来越高.程序分析是保障软件质量的重要手段之一,日益受到学术界和产业界的重视.介绍了若干基本程序分析技术(抽象解释、数据流分析、基于摘要的分析、符号执行、动态分析、基于机器学习的程序分析等),特别是最近10余年的研究进展.进而介绍了针对不同类型软件(移动应用、并发软件、分布式系统、二进制代码等)的分析方法.最后展望了程序分析未来的研究方向和所面临的挑战. 展开更多
关键词 程序分析 软件质量保障 静态分析 动态分析
在线阅读 下载PDF
一种路径敏感的静态缺陷检测方法 被引量:29
13
作者 肖庆 宫云战 +2 位作者 杨朝红 金大海 王雅文 《软件学报》 EI CSCD 北大核心 2010年第2期209-217,共9页
提出一种多项式复杂度的路径敏感静态缺陷检测算法.该方法采用变量的抽象取值范围来表示属性状态条件,通过属性状态条件中的变量抽象取值范围为空来判断不可达路径.在控制流图(control flow graph,简称CFG)中的汇合节点上合并相同属性... 提出一种多项式复杂度的路径敏感静态缺陷检测算法.该方法采用变量的抽象取值范围来表示属性状态条件,通过属性状态条件中的变量抽象取值范围为空来判断不可达路径.在控制流图(control flow graph,简称CFG)中的汇合节点上合并相同属性状态的状态条件,从而避免完整路径上下文分析的组合爆炸问题.该算法已应用于缺陷检测系统DTS(defect testing system).实际测试结果表明,该方法能够减少误报. 展开更多
关键词 缺陷检测 静态分析 路径敏感 数据流分析 程序分析
在线阅读 下载PDF
程序静态分析技术与工具 被引量:26
14
作者 杨宇 张健 《计算机科学》 CSCD 北大核心 2004年第2期171-174,共4页
静态分析对于保证程序质量,提高软件生产率有重要的意义。本文综述了静态分析常用的策略,介绍了当前静态分析的研究现状,比较了目前已有的静态程序分析工具。
关键词 软件开发 软件测试 软件生产率 软件质量 静态程序分析工具 程序设计语言 计算机
在线阅读 下载PDF
面向Android应用隐私泄露检测的多源污点分析技术 被引量:12
15
作者 王蕾 周卿 +2 位作者 何冬杰 李炼 冯晓兵 《软件学报》 EI CSCD 北大核心 2019年第2期211-230,共20页
当前,静态污点分析检测Android应用隐私泄露存在误报率较高的问题,这给检测人员和用户带来很大的不便.针对这一问题,提出了一种多源绑定发生的污点分析技术.该技术可以精确地判断污点分析结果中多组源是否可以在一次执行中绑定发生,用... 当前,静态污点分析检测Android应用隐私泄露存在误报率较高的问题,这给检测人员和用户带来很大的不便.针对这一问题,提出了一种多源绑定发生的污点分析技术.该技术可以精确地判断污点分析结果中多组源是否可以在一次执行中绑定发生,用户可以从单一分析1条结果转为分析有关联的多组结果,这既缩小了分析范围,又降低了检测的误报率.在精度上,该技术支持上下文敏感、流敏感、域敏感等特性,并可以有效地区分出分支互斥的情况.在效率上,提供了一种高效的实现方法,可以将高复杂度(指数级别)的分析降低为与传统方法时间相近的分析(初始阶段开销为19.7%,进一步的多源分析平均时间为0.3s).基于此,实现了一个原型系统MultiFlow,利用其对2116个良性手机软件和2089个恶意手机软件进行应用,应用结果表明,多源污点分析技术可以有效地降低隐私泄露检测的误报率(减少多源对41.1%).同时,还提出了一种污点分析结果风险评级标准,评级标准可以进一步帮助用户提高隐私泄露检测的效率.最后探讨了该技术潜在的应用场景. 展开更多
关键词 程序分析 污点分析 软件安全 静态分析 ANDROID
在线阅读 下载PDF
基于稀疏框架的静态污点分析优化技术 被引量:9
16
作者 王蕾 何冬杰 +1 位作者 李炼 冯晓兵 《计算机研究与发展》 EI CSCD 北大核心 2019年第3期480-495,共16页
当前,隐私数据保护是信息系统安全的重要研究挑战,对应用程序进行隐私泄露检测是隐私泄露保护的有效方案.污点分析技术可以有效地对应用程序进行保密性和完整性的安全检测,提前报告出潜在的隐私泄露风险.然而,当前高敏感度的静态污点分... 当前,隐私数据保护是信息系统安全的重要研究挑战,对应用程序进行隐私泄露检测是隐私泄露保护的有效方案.污点分析技术可以有效地对应用程序进行保密性和完整性的安全检测,提前报告出潜在的隐私泄露风险.然而,当前高敏感度的静态污点分析还存在开销过高的问题.通过对目前主流的污点分析工具FlowDroid进行深入分析,发现其污点分析计算中大量无关联污点传播是导致开销过高的重要原因,统计实验表明无关联传播占比高达85.2%.针对这一问题,尝试利用近年来一种有效的程序分析优化手段——稀疏优化——的方法,对静态污点分析中无关联的传播进行消除,达到时间和空间的开销优化.创新地将经典的数据流分析框架扩展成稀疏的形式,在此基础上提供了基于稀疏优化的污点分析方法.最后实现了工具FlowDroidSP,实验表明:FlowDroidSP在非剪枝模式下相比原FlowDroid具有平均4.8倍的时间加速和61.5%的内存降低.在剪枝模式下,具有平均18.1倍的时间加速和76.1%的内存降低. 展开更多
关键词 隐私泄露检测 静态程序分析 污点分析 程序优化 安卓
在线阅读 下载PDF
程序理解:现状与未来 被引量:14
17
作者 金芝 刘芳 李戈 《软件学报》 EI CSCD 北大核心 2019年第1期110-126,共17页
程序理解是软件工程中的关键活动,在软件开发、维护、重用等任务中发挥着重要的作用.程序理解自软件工程出现以来,就一直是该领域的研究热点.随着软件应用的日益复杂和不断普及,程序理解研究的需求发生了新的变化,程序的自理解或自认知... 程序理解是软件工程中的关键活动,在软件开发、维护、重用等任务中发挥着重要的作用.程序理解自软件工程出现以来,就一直是该领域的研究热点.随着软件应用的日益复杂和不断普及,程序理解研究的需求发生了新的变化,程序的自理解或自认知逐渐成为新的关注点,有必要对程序理解进行重新审视.从工程、学习和认知以及方法和技术这3个角度定位程序理解任务;随后,通过文献分析展示其研究布局,进而分别从认知过程、理解技术以及软件工程任务中的应用这3个方面,综合论述程序理解研究的发展脉络和研究进展. 展开更多
关键词 软件工程 程序理解 软件理解 程序静态分析 程序动态分析
在线阅读 下载PDF
JUTA:一个Java自动化单元测试工具 被引量:14
18
作者 严俊 郭涛 +1 位作者 阮辉 玄跻峰 《计算机研究与发展》 EI CSCD 北大核心 2010年第10期1840-1848,共9页
描述了一个Java自动化的单元测试工具JUTA.JUTA首先调用工具Soot解析单个Java方法的源码,并将源码解析成一个控制流图.在此基础上,采用符号执行的方法分析控制流图上的路径.工具能够自动地产生满足覆盖率标准的程序的测试用例.这种方法... 描述了一个Java自动化的单元测试工具JUTA.JUTA首先调用工具Soot解析单个Java方法的源码,并将源码解析成一个控制流图.在此基础上,采用符号执行的方法分析控制流图上的路径.工具能够自动地产生满足覆盖率标准的程序的测试用例.这种方法产生的所有测试用例都是可执行的,并且一般来说具有较小的测试用例数.如果用户能够合理地给出描述程序错误的断言,框架JUTA能够自动地检查源码中部分特定类型的错误.实验结果表明工具对Java单元代码的动态测试和静态测试均能在可接受的时间内给出有效的结果. 展开更多
关键词 Java单元测试 动态测试 静态测试 程序分析 符号执行
在线阅读 下载PDF
提高路径敏感缺陷检测方法的效率及精度研究 被引量:9
19
作者 赵云山 宫云战 +2 位作者 刘莉 肖庆 杨朝红 《计算机学报》 EI CSCD 北大核心 2011年第6期1100-1113,共14页
路径敏感的缺陷检测方法其缺陷状态会关联当前控制流节点的所有数据流信息,由于其中包含与缺陷检测无关的数据流,因此会导致分析效率下降.为了避免全路径敏感分析时的路径爆炸问题,一般会在控制流汇合节点进行缺陷状态合并,而这种粗糙... 路径敏感的缺陷检测方法其缺陷状态会关联当前控制流节点的所有数据流信息,由于其中包含与缺陷检测无关的数据流,因此会导致分析效率下降.为了避免全路径敏感分析时的路径爆炸问题,一般会在控制流汇合节点进行缺陷状态合并,而这种粗糙的合并策略带来的精度损失会引起误报.针对上述问题,文中提出一种基于缺陷的程序切片方法,该方法基于缺陷特征和路径条件建立切片准则,根据控制流节点上的数据流信息与切片准则的包含关系进行程序切片,得到的切片程序在缺陷检测时切片掉了缺陷无关节点且与源程序完全等价,以提高缺陷检测效率.为了进一步减少路径敏感分析方法的误报,提出一种基于切片的缺陷状态合并策略,根据控制流分支节点的路径条件,对缺陷状态添加状态属性,从而有选择地对控制流汇合节点进行状态合并,减少精度损失.文中所述方法已在缺陷检测系统(DTSGCC)中实现.对大量Linux中GCC开源工程的测试结果表明,文中提出的方法可以提高路径敏感缺陷检测方法的效率,并减少误报. 展开更多
关键词 静态分析 缺陷检测 路径敏感 误报 程序切片 上下文敏感分析 域敏感分析
在线阅读 下载PDF
软件安全漏洞的静态检测技术 被引量:41
20
作者 张林 曾庆凯 《计算机工程》 CAS CSCD 北大核心 2008年第12期157-159,共3页
软件安全漏洞问题日益严重,静态漏洞检测提供从软件结构和代码中寻找漏洞的方法。该文研究软件漏洞静态检测的两个主要方面:静态分析和程序验证,重点分析词法分析、规则检查、类型推导、模型检测、定理证明和符号执行等方法,将常用的静... 软件安全漏洞问题日益严重,静态漏洞检测提供从软件结构和代码中寻找漏洞的方法。该文研究软件漏洞静态检测的两个主要方面:静态分析和程序验证,重点分析词法分析、规则检查、类型推导、模型检测、定理证明和符号执行等方法,将常用的静态检测工具按方法归类,讨论、总结静态检测技术的优势、适用性和发展趋势。 展开更多
关键词 软件安全漏洞 静态分析 程序验证
在线阅读 下载PDF
上一页 1 2 7 下一页 到第
使用帮助 返回顶部