共查询到20条相似文献,搜索用时 0 毫秒
1.
数据流异常是指程序中与变量使用有关的不合常规的“可凝”情况。仅靠传统的数据流异常检查技术不能发现面向对象程序中与实例变量有关的数据流异常,将方法序列规范与传统的检查技术结合起来,提出了一种能检查对象的实例变量的数据流异常的方法。 相似文献
2.
针对基于数值计算理论的单源交通流数据质量控制算法作程序实现。首先进行程序流程设计,包括数据读取模块、数据识别模块、数据修正模块、数据存储模块和数据输出模块五部分,各模块间相互联系,按照数据流的方向结合在一起按顺序使用。其次,给出了详细的总体程序工作流程,并且针对其中的两个核心模块给出了具体的工作流程。最后,针对北京市实时交通流数据进行了检验,结果表明程序设计实现了算法设计的要求,并且极大改进了质量控制的自动化程度,提高了质量控制的工作效率。 相似文献
3.
软件安全逆向分析中程序结构解析模型设计 总被引:2,自引:0,他引:2
提出了一种基于二进制文件的程序结构解析模型。该模型通过对二进制文件反汇编,去除汇编文件中的冗余信息,对汇编文件进行静态分析,构建带有索引依赖信息的基本块,并以该基本块为基础提取二进制程序的内部控制流与函数调用关系信息,最后给出程序内部控制流图以及函数调用关系图。该模型不依赖程序的源文件,以二进制文件为分析对象,实用性和通用性比较好;实验结果表明模型对二进制程序内部结构解析具有较高的准确性。 相似文献
4.
5.
针对数据竞争检测过程中的误报和漏报问题,提出一种静态数据竞争检测方法。首先,使用控制流分析自动构造线程内和线程间函数调用图;然后,收集线程内变量访问事件信息,定义竞争产生条件并分析检测出所有可能的竞争;其次,为了提高检测的准确率,进行别名变量和别名锁的分析降低漏报和误报;最后,通过控制流分析来抽象访问事件之间的时序关系,并结合程序切片技术对访问事件的发生序关系进行判断,以此避免因忽略线程交互带来的误报。依据该方法,使用Java语言在Soot软件分析框架下实现了一个数据竞争检测工具。在实验中,对JGF和IBM Contest基准测试套件中的raytracer和airline等程序进行数据竞争检测,并与目前已有的数据竞争检测算法和工具(HB算法和RVPredict)进行对比。实验结果表明,与HB算法和RVPredict工具相比,该方法检测到的数据竞争总数分别增加了81%和16%,数据竞争检测的准确率分别提升了约14%和19%,有效地避免了数据竞争检测中的漏报和误报现象。 相似文献
6.
7.
在多线程程序中,当2个以上线程在没有顺序约束的条件下访问同一个存储单元时,且其中至少有一个为写访问,则可能会发生数据竞争。为此,提出一种针对X10并行程序的静态数据竞争检测算法,包括源访存对计算、可达访存对计算、时钟同步访存对计算和逃逸访存对计算4个阶段。通过在WALA框架中分析构建程序的调用图,计算源访存对集合,检测出内存访存中可能发生数据竞争的无序对。实验结果表明,该算法可以在不显著增加X10并行程序总体运行时间的情况下,达到比较理想的数据竞争检测效果。 相似文献
8.
异常处理是一种用来检测异常并对其进行处理的技术.异常传播改变了程序原来的执行路线,从而改变了程序中的数据流.在进行数据流分析时,如果不考虑异常传播对其造成的影响,则得到的信息将是不准确的.在分析C++异常传播机制和异常传播对数据流分析影响的基础上,提出一种包含异常传播信息的函数间控制流图的构建方法.该控制流图可以清晰地表示出异常的隐式控制流和异常的传播路径;然后提出了基于异常传播分析的数据流分析方法,并给出相应的算法.该方法既克服了因忽略异常传播对数据流影响而造成分析结果不准确的不足,又有助于实现异常传播数据流分析的自动处理;最后用一个实例验证了该方法的可用性.该方法可以为结构测试、回归测试、程序切片等软件工程任务提供相关信息. 相似文献
9.
10.
一种逆向程序流依赖性分析方法及其应用 总被引:8,自引:1,他引:8
本文提出一种基于逆向程序流分析的程序依赖性分析的形式化通用模型,它虽然基于一些很简单的概念与定义,但在程序测试、排错、维护、代码优化等多个方面有着广泛的应用。 相似文献
11.
图形程序是计算机程序中很重要的内容,用其可以编写出风格迥异的动画程序。动画程序可以用logo语言来实现,通过编写自己喜爱的动画程序可以加深对Logo语言的了解,同时可提高编程者应用编程语言解决实际问题的能力,培养其敏锐的观察力和极强的创造力。 相似文献
12.
文中基于数据流分析技术,通过引进循环中变量之间的相互依赖关系,提出一种过程式语言部分求值的处理方法。利用该方法能有效地解决过程式语言部分求值中循环展开这一难题。 相似文献
13.
Many tools and techniques for performing software engineering tasks require control-dependence information, represented in the form of control-dependence graphs. Worst-case analysis of these graphs has shown that their size may be quadratic in the number of statements in the procedure that they represent. Despite this result, two empirical studies suggest that in practice, the relationship between control-dependence graph size and program size is linear. These studies, however, were performed on a relatively small number of Fortran procedures, all of which were derived from numerical methods programs. To further investigate control-dependence size, we implemented tools for constructing the two most popular types of control-dependence graphs, and ran our tools on over 3000 C functions extracted from a wide range of source programs. Our results support the earlier conclusions about control-dependence graph size. 相似文献
14.
15.
LabVIEW软件在测量和控制领域得到了越来越广泛的应用.图形化编程和数据流驱动方式是其显著的特点.与传统文本编程语言(如C/C 和BASIC)的顺序驱动方式相比,数据流驱动方式可以非常简单地实现程序的并行运行,但是这种驱动方式也会造成流程控制中的一些困难.为解决这些困难,从循环结构控制、子程序调用及系统资源占用3个方面的问题入手,具体剖析了LabVIEW使用中存在的问题及其原因,并找出了解决这些问题的相应对策. 相似文献
16.
多线程并发程序的广泛使用引发了更多的数据竞争问题,竞争检测对于提高软件质量具有重要意义。将竞争静态检测和静态切片分析结合起来,提出了一种基于类的Java数据竞争静态检测算法,该算法利用函数调用层次获得函数调用链,对类域进行分析,找出可能数据竞争,通过静态切片缩小程序分析范围,并结合数据竞争的必要条件,去掉不可能数据竞争。实例表明,该算法可用于指导修复程序中的竞争缺陷。 相似文献
17.
《国际计算机数学杂志》2012,89(1-4):97-146
An algorithm is given for finding where the variables of a program are active or live. While the algorithm is modeled after that of Kennedy, it is based on the flow graph straightening procedure of Earnest, Balke, and Anderson, rather than on Cocke-Allen intervals. Thus it can be applied to any program, without appeal to any additional mechanism such as node splitting. 相似文献
18.
用数据流分析方法检查程序信息流安全 总被引:2,自引:0,他引:2
程序信息流安全是信息安全的一个重要研究方向.基于类型的分析虽然是检查程序信息流安全的一种有效方法,但过于保守.本文尝试将传统的数据流分析方法用于程序信息流安全的检查,即利用数据流分析来跟踪程序数据间的安全依赖关系,达到检查程序信息流安全的目的.和基于类型的方法相比,数据流分析方法能更加精确地分析程序,具有更大的宽容性.最后,本文对数据流分析方法的可靠性进行了证明. 相似文献
19.
20.
This paper extends the "parsing as deduction" approach to tree-adjoining grammars by showing how a TAG recognition problem can be reduced to a Datalog deduction problem, and presents an SLD selection rule that makes the proof search correspond to a top-down parse using the original grammar. Just as in the DCG extension of context-free grammars, this approach permits nodes to be labeled with firsl-order terms (rather than only atomic symbols). Finally the paper discusses implementation matters, and describes how the control rule can be efficiently implemented in Prolog. 相似文献