首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到18条相似文献,搜索用时 109 毫秒
1.
介绍了编译优化过程中非常重要的一种分析--数据流分析.数据流分析揭示了程序数据之间的相互关系,并为后续的编译优化提供信息.通过举例说明了求解数据流问题的基本步骤,阐述了其基本概念和理论框图,并引出了求解数据流分析问题的基本算法和两个重要结论.最后介绍若干使用本求解框架求解的经典的数据流问题.  相似文献   

2.
数据流分析的关键技术研究   总被引:2,自引:0,他引:2  
数据流分析在编译优化中起着非常关键的作用,尤其是想实现一个具有技术主动权的高性能优化编译器,对数据流分析方法的研究必不可少。本文介绍了数据流分析方法的基本概念和基本原理,介绍了数据流方程的一种解决方法。并结合GCC这个具体的编译器,简要分析了其中数据流分析的具体实现方法。  相似文献   

3.
随着程序的规模的扩大和复杂度的提高,通过直接分析源码进行程序切片,变得十分困难。在现有的利用编译优化技术来优化程序切片的方法中,存在无法有效利用程序的编译时信息和编译器的优化技术,以及对语言的支持不完善的问题。为此,分析了GCC编译器在编译时的中间表示,首次提出了基于GCC关键变量数据流分析算法的程序切片技术,以程序的GIMPLE中间表示为基础,以程序基本块为单位,通过迭代求解数据流方程,分析程序基本块内和不同基本块间的关键变量数据流信息。该程序切片技术可以获取源程序中仅与预设目标函数相关的关键变量和关键语句,缩减程序规模。最后通过实验,证明了该算法的可行性。  相似文献   

4.
精确的数组数据流分析是并行编译技术中的重要步骤。用终写树算法表示精确的数组数据流分析仅针对一对读写引用。该文研究并在工程上实现了终写树交叉算法,以分析多个写引用与公共读引用之间的精确数据依赖关系,减少了冗余信息并使精确数组数据流分析技术得到一定程度的优化。  相似文献   

5.
过程间数据流分析在软件优化,软件维护,软件测试中均有大量的应用。在编写使用可重用组件的软件时,对整个程序进行数据流分析的方法效率低下甚至由于没有库的源代码而不能直接分析。本文是在已有的组件库上构建新组件时进行数据流分析,通过计算新建库的概要信息,并使用这些概要信息分析新的组件,这样使用库中预先计算的概要函数能够在较小的分析成本下构建可扩展的大的库组件。  相似文献   

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

7.
一种利用并行复算实现的OpenMP 容错机制   总被引:1,自引:0,他引:1  
富弘毅  丁滟  宋伟  杨学军 《软件学报》2012,23(2):411-427
基于并行复算的故障恢复技术,将故障恢复的计算任务分配至未发生故障的结点上并行执行,从而显著缩短复算时间,有效降低故障恢复开销,提高并行程序容错性能.基于该故障恢复技术,提出了一种针对OpenMP并行程序的容错机制PR-OMP,有效解决了分段复算、复算负载重分布等问题;此外,还扩展了传统编译数据流分析技术,提出了针对OpenMP并行程序的数据流分析技术,并基于该技术计算状态保存开销进行优化.设计实现了用于支持PR-OMP的编译工具GiFT-OMP,并通过实验证明了PR-OMP机制及其支持工具的有效性,评估并分析了其性能和可扩展性.  相似文献   

8.
出具证明编译器在软件安全研究得到越来越多的关注,是程序验证研究的一个重要方向.但目前关于出具证明编译器的研究主要是在程序逻辑设计和定理自动化证明方面,很少关注编译优化对规范的影响.而编译优化是决定出具证明编译器是否能走向应用的关键因素之一.通过研究数据流优化的基本行为,提出利用数据流分析结果来变换规范的方法,以使原规范的约束准确而充分地施加于优化后的代码,并实现了一个包含多种优化和相应规范转换的编译器原型系统,展示了方法的可行性.  相似文献   

9.
数据流分析的图文法途径   总被引:1,自引:0,他引:1  
数据流分析是计算机科学的重要研究领域,本文通过分析可归纳流图和半结构图文法的特点,提出了使用半结构流图文法进行数据流分析的方法。  相似文献   

10.
数据流分析在编译系统的代码优化、软件故障检测以及程序切片中都起着非常关键的作用。本文介绍了数据流分析方法的基本概念和基本原理,介绍了数据流方程的到达一定义迭代算法,并提出了一种利用VC++工具实现数据流方程求解的方法。  相似文献   

11.
以数据流分析为基础的程序理解是软件工程重要研究领域之一。现在大多数的程序设计语言提供了异常处理机制,但程序中的异常结构会影响数据流分析。如果不考虑这种影响,把得到的数据流分析信息用于程序理解中,会产生严重的后果。文中以Java语言程序为例,提出了一种数据流分析方法,该方法充分考虑了异常结构对数据流分析的影响,从而保证数据流分析信息的正确性与准确性。  相似文献   

12.
数据流分析是编译器中重要部分,而增量式分析在程序开发环境和过程间优化编译器中有着相关实用的价值,当程序发生变化时,它可以增量式地维护数据流信息,而不致因程序的任何小改动都重新进行数据流分析,给出了一种增量式的消去数据流算法,它基于路径简化算法,具有和路径简化算法同样的复杂度,同样的通用性(适用于不可归约流图和流函数不完备的情况),而且能方便地在程序发生变化时维护现有的数据流信息。  相似文献   

13.
直接面向可执行程序进行安全漏洞分析时,首先需要得到二进制代码的中间语言表示。探讨了流分析技术在汇编代码理解中的应用,并在Linux平台上实现了一个轻量级汇编代码结构化表示工具BESTAR。该系统利用控制流和数据流分析技术识别通用控制结构,分析程序执行流,重构表达式和函数,发现数据依赖关系,将汇编代码转换成一个结构化、易理解的中间语言程序,为进一步进行安全分析打下了基础。  相似文献   

14.
为轻松获得程序的可能执行路径,进而实现程序变量的状态跟踪,提出了一种C/C++源代码控制流提取算法,通过该模型获取控制流切片,产生局部控制流图,将数据流异常检测与安全子集检测相结合,弥补了单独使用安全子集方法无法跟踪数据流的不足,增强代码安全隐患的挖掘能力.利用控制流图化简,排除部分不可达控制流信息,提高跟踪效率.通过对3个Linux内核源文件的检测,验证了该方法不仅可以检测出违反安全子集的代码安全隐患,同时对代码数据流异常检测提供支持,准确率达94.9%.  相似文献   

15.
基于静态分析技术的源代码安全检测模型*   总被引:2,自引:0,他引:2  
介绍了当前主流的静态代码分析技术,在分析讨论其优缺点的基础上提出了一种新的静态代码检测模型。该模型结合了当前成熟的静态分析技术,并借鉴了编译器中数据流和控制流分析的思想,获取上下文关联的数据信息,从而更加准确地分析代码中存在的安全问题。  相似文献   

16.
数据流异常是指程序中与变量使用有关的不合常规的“可凝”情况。仅靠传统的数据流异常检查技术不能发现面向对象程序中与实例变量有关的数据流异常,将方法序列规范与传统的检查技术结合起来,提出了一种能检查对象的实例变量的数据流异常的方法。  相似文献   

17.
为了提高客服中心的智能管理和信息调度能力,结合大数据分析方法进行客服中心实时数据监测和自动采集设计。提出一种基于模糊规则特征量挖掘和层次分析聚类的客服中心实时数据流自动监测方法。建立客服中心的网格分布结构模型并进行客服中心实时数据流监测统计特征分析,进行客服中心实时监测数据属性集的向量量化特征分解,对客服中心实时数据采用信息融合和模糊层析性分析方法实现信息融合,进行关联数据自适应特征提取,挖掘客服中心实时监测数据信息流的正相关性特征量。在层次性聚类算法基础上采用自回归分析进行客服中心实时数据流的模糊聚类和信息预测,提高客服中心实时数据监测的准确性,同时降低了客服服务中心数据流监测的风险。仿真结果表明,采用该方法进行客服中心实时数据监测的聚类性较高,预测性较好,能降低数据聚类的误分率,提高了客服中心实时数据监测能力。  相似文献   

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

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

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