首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 171 毫秒
1.
程序静态分析(Program Static Analysis)是指在不运行代码的方式下,通过词法分析、语法分析、控制流分析等技术对程序代码进行扫描,验证代码是否满足规范性、安全性、可靠性、可维护性等指标的一种代码分析技术。首先对程序静态分析的特点、常用静态分析技术、静态分析实现方式进行描述,然后通过一个实例讲解C语言静态代码分析中函数与变量的调用关系的实现方法,总结了现今在C语言调用关系分析中可以借鉴的工具与实现方式。  相似文献   

2.
软件安全漏洞的静态检测技术   总被引:5,自引:3,他引:2       下载免费PDF全文
张林  曾庆凯 《计算机工程》2008,34(12):157-159
软件安全漏洞问题日益严重,静态漏洞检测提供从软件结构和代码中寻找漏洞的方法。该文研究软件漏洞静态检测的两个主要方面:静态分析和程序验证,重点分析词法分析、规则检查、类型推导、模型检测、定理证明和符号执行等方法,将常用的静态检测工具按方法归类,讨论、总结静态检测技术的优势、适用性和发展趋势。  相似文献   

3.
函数调用相关信息识别是二进制代码静态分析的基础,也是恶意代码分析的重要线索。二进制代码混淆技术通过对函数调用指令call、参数传递过程和调用返回过程的混淆来隐藏代码中函数的信息。这大大增加了程序逆向分析的难度,此技术被广泛应用在变形和多态病毒中,使其逃脱杀毒软件的查杀。论文给出了一种静态分析方法,引入了抽象栈图的概念,给出了其构造算法,利用它能够有效识别出代码中对函数调用的混淆。  相似文献   

4.
阐述可执行代码抽象存储空间模型的概念并给出程序运行时刻环境抽象表示技术。通过抽象解释静态逼近程序不动点语义的理论保证二进制代码数据流分析的正确性以及可计算性。基于抽象解释和单调数据流框架提出一种自动分析可执行代码变量取值范围的方法及自动获取程序循环最大迭代次数和不可执行路径,并给出数据流分析实例。  相似文献   

5.
代码质量度量是软件质量分析的一个重要研究方向。静态分析方法因其具有成本低、容易实现而且不依赖于程序特定的运行环境的优点,在当前软件网络化、服务化的趋势下倍受关注。针对Java代码质量度量进行研究,使用Ant工具整合各种开源的静态测试工具,并制定基于静态分析的Java代码质量综合评价方案,可支持包括代码规模、规范性、可维护性、可扩展性和潜在危险等方面的综合检测,为项目的开发者、管理者和使用者提供了实用的代码质量评价方法。  相似文献   

6.
近几十年来,计算机硬件性能和软件规模技术已不同以往,其承载了人类社会生活生产的方方面面.计算机技术的飞速发展,也带来了人们对程序安全问题的关注.由于市面上存在着较多的遗留软件,这些软件无人维护且缺乏源代码支持,其安全性令人担忧,而二进制分析技术被用来解决该类软件问题.二进制分析技术根据其检测方式不同可分为:基于静态的二进制代码分析技术、基于动态的二进制代码分析技术和动静态混合的二进制代码分析技术.本文调研了近年来的二进制代码安全分析领域上相关研究,分别详细阐述了这3类技术中的主要方法,并对其关键技术进行详细介绍.  相似文献   

7.
在软件开发过程中,开发者经常会以复用代码的方式,提高软件开发效率。已有的研究通常采用传统的信息检索技术来实现代码推荐。这些方法存在自然语言查询的高层级的意图与代码的低层级的实现细节不匹配的问题。提出了一种基于序列到序列模型的代码片段推荐方法DeepCR。该方法结合程序静态分析技术与序列到序列模型,训练自然语言查询生成模型,为代码片段生成查询,通过计算生成的查询和开发者输入的自然语言查询的相似度得分来实现代码片段推荐。所构建的代码库的数据来源于Stack Overflow问答网站,确保了数据的真实性。通过计算代码片段推荐结果的平均倒数排名(MRR)和Hit@K来验证方法的有效性。实验结果表明,DeepCR优于现有研究工作,能够有效提高代码片段推荐效果。  相似文献   

8.
为获取并分析采用加壳、控制流混淆技术所产生的隐藏代码,提出一种新的隐藏代码动态捕获方法。利用静态控制流分析算法提取动态捕获点,采用动态二进制插桩技术插入监控代码,在程序的执行过程中实现隐藏代码的执行前分析。实验结果证明,该方法能够减少程序插桩点,有效获取并分析可执行程序中的隐藏代码。  相似文献   

9.
漏洞这一名词伴随着计算机软件领域的发展已经走过了数十载。自世界上第一个软件漏洞被公开以来,软件安全研究者和工程师们就一直在探索漏洞的挖掘与分析方法。源代码漏洞静态分析是一种能够贯穿整个软件开发生命周期的、帮助软件开发人员及早发现漏洞的技术,在业界有着广泛的使用。然而,随着软件的体量越来越大,软件的功能越来越复杂,如何表示和建模软件源代码是当前面临的一个难题;此外,近年来的研究倾向于将源代码漏洞静态分析和机器学习相结合,试图通过引入机器学习模型提升漏洞挖掘的精度,但如何选择和构建合适的机器学习模型是该研究方向的一个核心问题。本文将目光聚焦于源代码漏洞静态分析技术(以下简称:静态分析技术),通过对该领域相关工作的回顾,将静态分析技术的研究分为两个方向:传统静态分析和基于学习的静态分析。传统静态分析主要是利用数据流分析、污点分析等一系列软件分析技术对软件的源代码进行建模分析;基于学习的静态分析则是将源代码以数值的形式表示并提交给学习模型,利用学习模型挖掘源代码的深层次表征特征和关联性。本文首先阐述了软件漏洞分析技术的基本概念,对比了静态分析技术和动态分析技术的优劣;然后对源代码的表示方法进行了说明。接着,本文对传统静态分析和基于学习的静态分析的一般步骤进行了总结,同时对这两个研究方向典型的研究成果进行了系统地梳理,归纳了它们的技术特点和工作流程,提出了当前静态分析技术中存在的问题,并对该方向上未来的研究工作进行了展望。  相似文献   

10.
一个可半自动化扩展的静态代码缺陷分析工具   总被引:1,自引:0,他引:1  
基于缺陷模式的代码缺陷分析技术根据预先设定的缺陷模式知识对受检代码进行缺陷分析.这种分析技术具有使用简单、查找速度快等优点,是近年来静态代码缺陷分析方法中发展比较迅速的新技术.但是目前基于这种分析技术的大多数工具并没有为用户提供足够易用、高效的扩展方式以扩充其缺陷检测能力.针对这一问题,作者提出了一个"可半自动化扩展"...  相似文献   

11.
软件安全静态分析是检测软件安全漏洞的一种手段。本文在总结现有的软件安全静态分析方法的基础上,将在硬件设计领域得到成功应用的模型检验方法引入到软件产品的检验中,给出了一种基于自动机理论的检测软件安全的模型检验方法,阐述了其原理和工作流程,并用实例进行了验证说明。  相似文献   

12.
结合深度学习模型实现光流端到端的计算是当前计算机视觉领域的一个研究热点.文中对基于深度学习的光流估计方法进行总结和梳理.首先,介绍了光流的起源与定义;其次,总结了现有的数据集合和评价指标;最重要的是,着重从3个方面回顾了深度光流估计方法,包括有监督的深度光流估计方法、无监督的深度光流估计方法以及对现有光流估计方法的性能对比分析.分析表明,参照传统方法设计小而轻且泛化性能好的深度光流网络是未来的研究方向.在此基础上,进一步分析和介绍了当下光流估计与视频分析任务联合学习的一系列代表性方法,指出了设计由任务驱动的深度光流网络是很有应用价值的研究方向.最后,总结了深度光流估计存在的问题和挑战,并对未来工作进行展望.  相似文献   

13.
带控制流的静态函数调用分析方法   总被引:2,自引:0,他引:2       下载免费PDF全文
提出一种带有控制流的静态函数调用分析的方法,通过建立模型,对源程序进行静态分析,得到程序中的控制流信息和函数调用信息。和已有的静态函数调用关系图分析工具calltree和Source Insight相比,该方法生成的函数调用流图不仅能展现函数间的调用次序,还可以了解程序设计的逻辑复杂度,有助于代码阅读和分析人员更快更好地理解程序结构以及设计流程,并为分析程序控制条件、设计路径覆盖测试用例和进行程序优化奠定基础。  相似文献   

14.
为弥补软件漏洞挖掘领域的不足,文章介绍了一种基于源代码信息流分析的静态漏洞挖掘方法,通过对源代码中函数的数据输入点进行信息流分析,观察其流向,在敏感函数调用点进行分析判断,最终确定是否存在漏洞。  相似文献   

15.
数据流分析方法   总被引:4,自引:2,他引:4  
数据流分析是一项编译时使用的技术,它能从程序代码中收集程序的语义信息,并通过代数的方法在编译时确定变量的定义和使用。该文对数据流、数据流框架及数据流算法进行了阐述;并简要地介绍了所提出的需求过程间数据流分析的方法。  相似文献   

16.
Computer architects have been constantly looking for new approaches to design high-performance machines. Data flow and VLSI offer two mutually supportive approaches towards a promising design for future super-computers. When very high speed computations are needed, data flow machines may be relied upon as an adequate solution in which extremely parallel processing is achieved.

This paper presents a formal analysis for data flow machines. Moreover, the following three machines are considered: (1) MIT static data flow machine; (2) TI's DDP static data flow machine; (3) LAU data flow machine.

These machines are investigated by making use of a reference model. The contributions of this paper include: (1) Developing a Data Flow Random Access Machine model (DFRAM), for first time, to serve as a formal modeling tool. Also, by making use of this model one can calculate the time cost of various static data machines, as well as the performance of these machines. (2) Constructing a practical Data Flow Simulator (DFS) on the basis of the DFRAM model. Such DFS is modular and portable and can be implemented with less sophistication. The DFS is used not only to study the performance of the underlying data flow machines but also to verify the DFRAM model.  相似文献   


17.
过程间数据流分析是一件比较复杂而又很有意义的工作,本文提出了一种过程间数据流分析技术,讨论了在过程间数据流分析中全局量和参数对数据流分析的影响,给出了有效的解决方法,并以此技术为基础,构造了一种程序静态分析系统。  相似文献   

18.
Recent methods of data envelopment analysis (DEA) deal mostly with static input-output systems. For dynamic systems with both current and capital inputs, the measurement of efficiency poses new problems due to intemporal effects. Some control-theoretic methods are discussed here by way of generalizing the static framework of data envelopment analysis in terms of dynamic multipliers and stochastic parameters. The dual problems of control and state estimation are analysed in their dynamic aspects, which show the myopic nature of measuring efficiency in a static version of the DEA model.  相似文献   

19.
通过数据流分析将程序转换成数据流描述标记,结合数据流到达-定值分析,确定每个基本块的输入、输出定值集合,推导出函数输入与输出间的联系,实现函数功能的静态理解。实验结果表明,在不需要额外提示的情况下,该方法能准确识别二进制形式的字符串拷贝等字符串处理函数。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号