首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 828 毫秒
1.
程序切片作为软件理解领域的一种重要的分析技术,可以将程序分解为独立的程序线程。系统依赖图的概念及两阶段图形可达性算法的出现,则有效解决了程序切片的过程调用问题。文章介绍了程序切片的基本概念,并给出了在面向对象程序中进行静态分层切片的思想。作为分层切片思想的应用,文章给出了在一种Java程序切片工具模型JSTM(JavaSlicingToolsModel)中运用系统依赖图进行方法内切片的具体算法。  相似文献   

2.
调用图(call graph)分析是进行程序分析、程序理解、软件测试和软件维护的重要基础.目前已提出的调用图生成算法多数是针对面向对象编程;而面向方面编程作为面向对象编程的扩展,还没有比较良好的调用图生成算法.为此,分析了既有的面向对象程序调用图生成算法,讨论了面向方面程序语言(AspectJ为例)的特殊语言元素及其对生成的调用图的影响,从而构筑了面向方面程序调用图的生成算法.  相似文献   

3.
面向对象软件的依赖性分析与回归测试   总被引:2,自引:0,他引:2  
陈树峰  郑洪源 《计算机应用》2009,29(11):3110-3113
针对面向对象软件中类之间复杂的依赖性问题,通过分析UML类图中类之间的各种静态关系,提出一个基于UML类图的依赖性分析模型。为了实现自动化分析,引入了类依赖关系图的概念,并提出一个基于UML类图导出的XMI文件的类依赖关系图生成算法。根据这个模型,通过分析一个类或依赖关系的改变对其他类产生的影响,提出测试路径查找算法,并利用此算法得到需要进行回归测试的类集与测试序列。  相似文献   

4.
程序切片是一种程序分析技术,它通过把程序减少到只包含与某个特定计算相关的那些语句来分析程序,过程间切片作为图形可达性问题时,需要扩展过程内切片所用的程序依赖图(PDG)成系统依赖图(SDG),然后利用两阶段图形可达性算法计算比较精确的切片,目前程序切片技术的研究以面向对象程序切片为主,文中讨论了一种合适面向对象程序的分层切片方法,并综合分层切片方法和两阶段图形可达性算法提出了一种简化的计算面向对象程序过程间切片的算法。  相似文献   

5.
一种改进的静态程序切片算法   总被引:1,自引:0,他引:1  
提出了一种改进的静态程序切片算法,并应用到软件逆向工程中。在处理目标程序的过程间调用时,通过建立参数影射关系表,将过程间调用转换为过程内调用,简化了建立程序依赖图的复杂度;在归纳分析目标程序变量类型的基础上,给出了代数运算法则,对程序中的线性运算代码进行等价变换,缩减了切片程序的规模。最后通过具体的切片实例,证明了改进算法的有效性。  相似文献   

6.
物联网设备受能耗、计算能力等因素限制, 通常采用轻量化的操作系统以及精简化的安全保护机制, 导致物联网设备的操作系统安全保护能力不足, 更容易被用户态程序攻破。为了增强操作系统的隔离能力, 现有的安全保护方法通常限制应用程序可访问的系统调用种类, 使其仅能访问运行所必须的系统调用, 从而缩小操作系统的攻击面。然而, 现有的动态或者静态程序分析方法无法准确获取目标程序运行所依赖的系统调用。动态跟踪方法通过跟踪程序执行过程中触发的系统调用, 仅能获取程序依赖系统调用的子集, 以此作为依据的访问控制可能会影响程序的正常执行。而静态分析方法通常构造程序及其依赖库的控制流图并分析其可达的系统调用, 然而由于静态分析无法精准构建控制流图, 仅能获取目标程序依赖系统调用的超集, 会在访问控制中引入多余的系统调用, 造成操作系统攻击面依然较大。针对现有系统调用访问控制面临的可用性以及精准度问题, 研究多层次的内核访问控制方法, 在现有系统调用访问控制的基础上, 引入了动态链接库的访问控制, 并提出了多层联动的动态安全分析机制, 以动态分析的方法排除由于静态分析不准确引入的额外系统调用, 从而进一步缩小物联网系统的攻击面, 提升物联网设备的隔离能力与安全性。实验结果表明, 相比于现有内核访问控制方法, 本文提出的方法能够抵御更多漏洞而且引入的实时负载更低。  相似文献   

7.
本文分析了现有面向对象图形表示方案存在的问题,在此基础之上,提出了基于波动效应分析构造面向对象系统依赖图的方法,通过引入波动效应分析,来完善面向对象程序的语义和减小构图的复杂性,在波动效应分析的基础之上,构造类图、改造面向过程的系统依赖图,结合两个图来描述面向对象程序。通过类图描述不同类之间的关联关系和类的内部定义,在类图中表达过程依赖,改造面向过程的系统依赖图用于表达控制依赖和数据依赖。文中给出了计算波动效应和构造系统依赖图的算法描述。  相似文献   

8.
程序分片是一种有效的程序分析技术,它能根据给定的分片准则从源程序中提取出所需部分进行分析,如进行程序调试、测试、程序重构分析等。程序分片技术在结构化程序中已有较广泛的应用,但对于面向对象语言程序,其研究与应用还存在一些待解决的问题。针对面向对象语言程序,提出了一种改进后的系统依赖图:ISDG,用来更好地表示面向对象程序中的依赖关系,从而解决了对象类型参数和属性的表示问题。基于ISDG模型,提出了一种新的面向对象语言程序的分片准则,以度相应的分片算法。  相似文献   

9.
一种系统依赖图的面向对象扩充方案   总被引:3,自引:0,他引:3  
提出一种对传统的系统依赖图进行面向对象扩充的方案.把传统的系统依赖图和类依赖子图、类层次子图相结合,从而构成了适合描述面向对象程序的面向对象系统依赖图.详细说明了对系统依赖图进行面向对象语法、语义扩充的过程,同时给出了构造面向对象系统依赖图的一般算法以及应用分析.  相似文献   

10.
JAVA语言是目前一种主要的面向对象编程语言,由于JAVA语言复杂的结构,使得对JAVA程序进行程序切片非常困难.本文提出一种层次的构造JAVA系统依赖图的算法,基于JAVA程序本身的层次结构,自顶向下构造系统依赖图,然后基于构造的系统依赖图,用一种改进的两阶段算法得到JAVA程序切片.  相似文献   

11.
曹鹏飞  罗雄麟 《自动化学报》2014,40(10):2179-2192
Wiener模型结构能有效地表征系统的动态和静态特性, 因此这里首先基于这一结构建立软测量模型, 利用动态与静态子模型分别建立辅助变量与主导变量间的动态与静态关系, 并说明该软测量模型的可行性, 给出模型具体表达式. 其次, 针对所提模型, 提出分步辨识方式获得最优模型参数, 说明其可行性. 再次, 为了减少计算和实现模型在线更新, 这里提出参数辨识递推算法, 并给出软测量模型参数的收敛性结论. 通过实例仿真, 可以看出本文提出模型的可行性, 以及分步辨识方式与递推算法的有效性.  相似文献   

12.
ECA主动规则中的“条件”通常描述主动数据库的当前状态或状态转换,表现为一个或一组查询语句。但是经常还会遇到基于数据库一系列状态演变过程之上的查询要求,这时不能使用平常意义上的条件来表示。文章基于过去时序逻辑,提出了一种说明时序条件的语言,可以对数据库基于时间状态的演变的过程进行监控,从而增强了主动数据库中规则语言的表达能力。  相似文献   

13.
This paper explores feasibility of employing the non-recurrent backpropagation training algorithm for a recurrent neural network, Simultaneous Recurrent Neural network, for static optimisation. A simplifying observation that maps the recurrent network dynamics, which is configured to operate in relaxation mode as a static optimizer, to feedforward network dynamics is leveraged to facilitate application of a non-recurrent training algorithm such as the standard backpropagation and its variants. A simulation study that aims to assess feasibility, optimizing potential, and computational efficiency of training the Simultaneous Recurrent Neural network with non-recurrent backpropagation is conducted. A comparative computational complexity analysis between the Simultaneous Recurrent Neural network trained with non-recurrent backpropagation algorithm and the same network trained with the recurrent backpropagation algorithm is performed. Simulation results demonstrate that it is feasible to apply the non-recurrent backpropagation to train the Simultaneous Recurrent Neural network. The optimality and computational complexity analysis fails to demonstrate any advantage on behalf of the non-recurrent backpropagation versus the recurrent backpropagation for the optimisation problem considered. However, considerable future potential that is yet to be explored exists given that computationally efficient versions of the backpropagation training algorithm, namely quasi-Newton and conjugate gradient descent among others, are also applicable for the neural network proposed for static optimisation in this paper.  相似文献   

14.
数组越界的静态测试分析   总被引:4,自引:0,他引:4  
给出了一种静态分析方法,静态分析的主要优点就是在程序运行之前就可以对程序故障进行定位。文章首先针对数组越界错误类型进行了分析,介绍了软件测试的一些基本概念,给出了这类错误的静态分析方法,并给出了相应的算法,而后给出了测试系统设计和开发,最后给出了软件测试的实验结果和分析。  相似文献   

15.
在求解Packing问题、机器人路径规划、虚拟装配、碰撞检测等常用到椭圆-矩形的不干涉算法。针对椭圆和矩形分别在静止、运动状态下的不干涉问题,该文在Adamowicz&Albano的NFP基础上,给出了椭圆-矩形的静、动态不适合边界(NoFitBoundary,NFB)的定义,用图形变换方法证明了静态不适合边界是由4条线段和4段椭圆弧组成的对称曲八边形,给出了对称曲八边形顶点计算公式,提出了椭圆-矩形的静、动态不干涉算法。该算法简单且具有一定的应用价值。  相似文献   

16.
内存泄漏是C/C++程序的一种常见的、难以发现的缺陷,一直困扰着软件开发者,尤其是针对长时间运行的程序或者系统软件,内存泄漏的后果十分严重.针对内存泄漏的检测,目前主要有静态分析和动态测试两种方法.动态测试实际运行程序,具有较大开销,同时依赖测试用例的质量;静态分析技术及自动化工具已经被学术界和工业界广泛运用于内存泄漏缺陷检测中,然而由于静态分析采取了保守的策略,其结果往往包含数量巨大的误报,需要通过进一步人工确认来甄别误报,但人工确认静态分析的结果耗时且容易出错,严重限制了静态分析技术的实用性.本文提出了一种基于混合执行测试的静态内存泄漏警报的自动化确认方法.首先,针对静态分析报告的目标程序中内存泄漏的静态警报,对目标程序进行控制流分析,并计算警报的可达性,形成制导信息;其次,基于警报制导信息对目标程序进行混合执行测试;最后,在混合执行测试过程中,监控追踪内存对象的状态,判定内存泄漏是否发生,对静态警报进行动态确认并分类.实验结果表明该方法可以对静态内存泄漏警报进行有效的分类,显著降低了人工确认的工作量.实验详情参见:http://ssthappy.github.io/memleak/.  相似文献   

17.
一种增量式的社区发现算法研究   总被引:2,自引:0,他引:2  
王慧芳  黄林鹏  俞晟 《计算机仿真》2008,25(1):149-152,167
传统社区发现算法基本上属于静态的分析算法,其计算复杂性使其难以适应目前网络结构的频繁变化.为了改善静态算法的这一局限性,通过对Radiechi静态算法进行扩展,提出一种增量式的社区发现算法,并将其应用于MSN Space链接结构分析上.该算法能在网络结构变化频繁时进行增量式计算并保证社区发现的实时性.实验结果表明,该增量式算法在处理网络结构变化时的效率相对传统算法有显著提高,尤其对小规模频繁变化的网络有很强的适应力.  相似文献   

18.
支持复合事件的主动规则的可终止性分析   总被引:7,自引:1,他引:7  
ECA规则系统已经成为主动数据库提供主动服务的通用机制.规则集合的可终止性是规则行为分析的一个重要问题.文中给出了ECA规则系统的形式化描述,并着重讨论了复合事件机制对可终止性问题的影响.文中结合规则实例给出了分析规则终止性的静态判定算法,这一算法可作为主动规则分析工具的理论基础.  相似文献   

19.
快速傅利叶变换(fast Fourier transform,FFT)算法是对实时数字信号进行快速分析处理的一个基本方法。针对多核嵌入式实时环境下并行FFT算法进行了研究,以有效提高实时信号处理的速度。提出了一种新的静态多项式FFT算法,充分利用静态多项式奇偶项的不同特点直接代入数据计算,免去了层层迭代的计算过程,减少了运算过程中的通信提高并行性能。对该算法思想本文在理论进行了严密论证,通过嵌入式实时平台上运行测试和仿真实验,证实了在数据分段较短的约束条件下,该多项式静态算法较经典的FFT并行算法在时间复杂度上有一定优势。本文结论:多项式静态FFT算法能够有效提高并行FFT运行速度。  相似文献   

20.
The paper concerns the static analysis of the cable structures. Energy approach is used in the analysis. Matrix formulation of the basic expressions for the total potential energy and its gradient is given. It is proposed in the paper to utilize the Huang's reverse algorithm for finding stationary point of the total potential energy. Enclosed is a numerical example.  相似文献   

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

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