首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
Program Slicing is a well-known decomposition technique that transforms a large program into a smaller one that contains only statements relevant to the computation of a selected function. In this paper, we present two novel predicate-based dynamic slicing algorithms for message passing programs. Unlike more traditional slicing criteria that focus only on parts of the program that influence a variable of interest at a specific position in the program, a predicate focuses on those parts of the program that influence the predicate. The dynamic predicate slices capture some global requirements or suspected error properties of a distributed program and computes all statements that are relevant. The presented algorithms differ from each other in their computational approaches (forward versus backward) and in the granularity of information they provide. A proof of correctness of these algorithms is provided. Through the introduction of dominant states and dominant events, critical statement executions are identified that change the value of the global predicate. Under this formulation, optimizing dynamic predicate slicing becomes a meaningful goal as well. Finally, we present how predicate slices can be applied to support comprehension tasks for analyzing and maintaining distributed programs.  相似文献   

2.
动态程序切片技术是一种重要的程序分析技术,在软件分析、测试与调试过程中有着广泛的应用。给出一种基于前向计算的动态程序切片方法,该方法首先在对当前执行语句进行定义使用分析的基础上计算该语句定义变量的影响集,其次计算该语句的直接动态依赖关系,最后计算当前执行语句中变量的动态切片。根据该方法设计并实现了一个Java动态程序切片系统,基于一组基准测试程序开展了切片实验,并与已有的切片方法进行了比较。实验结果表明,该方法可以得到比较精确的动态程序切片结果。  相似文献   

3.
面向方面程序设计是面向对象程序设计技术的补充和完善,高效的面向方面程序测试方法是面向方面程序的质量保证.提出一个基于谓词动态切片技术的测试方法.首先,构造完整的AOP语句控制流图,它包含AOP的方面、切入点、连接点、建议等因素.然后,根据完整的AOP语句控制流图生成所有路径,针对每条路径,构造其分支函数,计算得到相应的测试数据,若路径不可执行,则不再计算其测试数据.在这个过程中,通过构建简化动态依赖图来生成谓词动态切片,再用谓词动态切片来帮助调整测试数据.最后,将各路径的实际输出数据与期望输出数据相比较,即可判断该程序是否有错误.经实例分析和实验验证,此方法可以系统地测试一个完整的面向方面程序,提高了测试数据的生成效率,并产生有效的测试用例.  相似文献   

4.
用Z形式化描述程序切片   总被引:1,自引:0,他引:1  
程序切片是一种重要技术,已广泛地应用于软件工程的各个领域,如程序理解、维护、调试、测试、复用、度量等.虽然,越来越多的研究者致力于程序切片工作,然而由于缺少形式化方面的工作导致程序切片可能存在不一致性和模糊性.本文尝试着用Z语言来形式化描述程序切片,考虑了程序切片中诸如程序依赖图和程序切片算法等常用的方面.该形式化描述不仅能帮助人们正确地理解程序切片的含义,而且还能够从比较严格的意义上明确程序切片的应用领域.  相似文献   

5.
利用谓词/变迁网证明的一阶谓词逻辑命题   总被引:1,自引:0,他引:1       下载免费PDF全文
方欢  印玉兰  徐誉尹 《计算机工程》2006,32(23):191-192
研究了证明一般的一阶谓词逻辑命题的方法,根据网逻辑的思想,利用谓词/变迁网对一般形式的一阶谓词逻辑命题进行了图形表示,提出了2种一阶谓词逻辑命题的证明方法:图形证明法和矩阵证明法。举出一个实际的例子来说明证明思路。  相似文献   

6.
求解TSP问题的思维进化算法   总被引:12,自引:0,他引:12  
针对一类非数值问题──TSP的特点,在基本思维进化算法(MEC)框架的基础上,提出了求解TSP的趋同和异化策略,从而实现了MEC在求解非数值问题的一个应用,并对其收敛性进行了简要证明。同某些遗传算法(IENS和GESA)比较的仿真实验结果表明:MEC在收敛速度、解的优良性等方面要优于这些遗传算法。  相似文献   

7.
Predicate Abstraction of ANSI-C Programs Using SAT   总被引:1,自引:0,他引:1  
Predicate abstraction is a major method for verification of software. However, the generation of the abstract Boolean program from the set of predicates and the original program suffers from an exponential number of theorem prover calls as well as from soundness issues. This paper presents a novel technique that uses an efficient SAT solver for generating the abstract transition relations of ANSI-C programs. The SAT-based approach computes a more precise and safe abstraction compared to existing predicate abstraction techniques.  相似文献   

8.
归结原理(resolution principle)是计算机自动推理的重要原理之一.将XML加入到使用归结原理的证明过程中,利用XML结构与语义自描述的特性,简化归结过程的计算机实现,并给出相应基于XML的算法.  相似文献   

9.
归结原理(resolution principle)是计算机自动推理的重要原理之一。将XML加入到使用归结原理的证明过程中,利用XML结构与语义自描述的特性,简化归结过程的计算机实现,并给出相应基于XML的算法。  相似文献   

10.
《离散数学》谓词逻辑中前柬范式的求解一直是一个难点。对前柬范式求解步骤进行分析和总结,对两种换名规则和换名情况进行分类和研究.结合实例帮助学生更好地掌握整个前束范式的求解过程,并在实际教学过程中起到很好的教学效果。  相似文献   

11.
As expert-system technology gains broader acceptance, the need to build and maintain large-scale knowledge-based systems (KBSs) will assume greater importance. Traditional approaches to KBS verification generally contain no predicate/transition (PrT) net models, thus making them slow for the large-scale KBS with chained errors. This paper proposes an attractive alternative to KBS verification, in which the KBS is modeled as a PrT-net model. Then, the least fixpoint semantics of the PrT-net model can be introduced into the KBS for the purpose of speeding up the computations of the KBSs. The significance of this paper is that seven propositions are formulated to detect errors of redundancy, subsumption, unnecessary condition, circularity, inconsistency, dead end, and unreachable goal. Thus, the performance of a computer-aided-design tool for KBSs can be improved to some extent. Meanwhile, specification languages, including Programming in Logic, Frame-and-Rule-Oriented Requirements Specification Language, and the like, are suitable to this approach.  相似文献   

12.
Part machining is a discrete manufacturing process. In order to evaluate the manufacturing process, an intelligent modeling method based on the first-order predicate logic is proposed. First, the basic predicate formula is defined according to the machining method, and the predicate and variables are illustrated in detail. Thus, the process representation is completed. Second, to construct the process model, the modeling element is put forward, which includes three nodes. Components of modeling element are, respectively, discussed, as well as the mapping relationship between modeling element and predicate. After the definition of modeling predicate formula, five basic inference rules are established. Consequently, the manufacturing process model is constructed. Third, on the basis of the process model, the process simulation is carried out to evaluate the manufacturing performances, such as the production efficiency, the utilization rate of machining equipment, the production bottleneck, etc. Finally, a case study is conducted to explain this modeling method.  相似文献   

13.
基于行为的判别已成为恶意代码检测技术研究的主流方向,现有方法容易受到拟态攻击或影子攻击的影响.针对这些问题,提出了一种全新的使用谓词时序逻辑描述恶意代码行为的方法,该方法能够同时刻画一组函数调用之间的逻辑组合、时序、参数依赖和主客体关联等关系,因此能更准确细致地描述恶意代码行为.在此基础上,提出了相应的恶意行为检测算法,通过实例测试验证了该方法的有效性.  相似文献   

14.
In this paper, a net model for decentralized control of user accesses to a distributed database is proposed. It is developed in detail for the restricted case of updating distributed copies of a single database. Predicate/transition-nets, a first-order extension of Petri nets, are shown to provide suitable means for concise representation of complex decentralized systems and for their rigorous formal analysis. It will be demonstrated in the present paper how these net models can be constructed and interpreted in a quite natural manner and how they can be analyzed by linear algebraic methods. By this, it will be shown that the modeled distributed database system is deadlock-free and guarantees a consistent database as well as a fair and effective service to the users.  相似文献   

15.
恶意代码检测技术作为网络空间安全的重要研究问题之一,无论是传统的基于规则的恶意代码检测方法,还是基于机器学习的启发式恶意代码检测方法,首先都需要自动化或人工方式提取恶意代码的结构、功能和行为特征.随着网络攻防的博弈,恶意代码呈现出隐形化、多态化、多歧化特点,如何正确而有效的理解恶意代码并提取其中的关键恶意特征是恶意代码...  相似文献   

16.
目前,在分布式存储机制上,程序是被设计成为帮助用户有效地解决不规则问题(如求解偏微分方程、稀疏矩阵等)。其关键是描述全局下标与独立处理器的地址空间关系的算法。为此,本文介绍了采用转换表、通信表的解决方式,以及它们作为Runtime库的一个工具,是如何由库函数在独立的局部下标空间组成的全局下标空间调用运行。  相似文献   

17.
一种基于扩展规则的#SAT 求解系统   总被引:2,自引:1,他引:1  
殷明浩  林海  孙吉贵 《软件学报》2009,20(7):1714-1725
#SAT 问题是SAT 问题的扩展,需要计算出给定命题公式集合的模型个数.通过将问题求解沿着归结的反方向进行,并利用容斥原理解决由此带来的空间复杂性问题,提出了一种基于扩展规则的模型计数和加权模型计数问题求解框架,可以看作是目前所有模型计数问题求解方法的一种补方法.证明了该方法的完备性和有效性,设计了基于扩展规则的#SAT 求解系统:JLU-ERWMC.实验结果表明,JLU-ERWMC 在有些问题中优于目前最为高效的#SAT 问题求解系统.  相似文献   

18.
Yao的混淆电路可用于客户端将函数计算外包给服务器,并可验证其正确性.然而,混淆电路仅能使用1次.Gennaro等人组合使用全同态加密和混淆电路,可实现客户端和服务器在多次输入上重用混淆电路.但是,所有已知的全同态加密在效率的提高上似乎仍有很大的空间,并且需要较强的困难性假设.另一方面,Gennaro等人的方案只能在敌手不能对客户端发起任何数量的验证查询这种较弱的模型下被证明是安全的.部分同态加密的困难性假设要弱于全同态加密,虽然只支持数量有限的同态操作,但比全同态加密运行速度更快、更加紧凑.提出了一个使用加同态加密的可验证计算方案.它基于DDH假设,能够容忍任意数量的恶意验证查询,采用的主要技术是可重随机化的混淆电路.该技术可以实现重随机化的混淆电路分布与原有的混淆电路分布在计算上是不可区分的.另外,也给出了一种使用可重随机化的混淆电路构造密码转置防火墙方案,称为可重用密码转置防火墙.也就是说,混淆电路可生成1次,接下来,密码转置防火墙可安全地重随机化和重用多次.  相似文献   

19.
Although the slicing of programs written in a high-level language has been widely studied in the literature, relatively few papers have been published on the slicing of binary executable programs. The lack of existing solutions for the latter is really hard to understand since the application domain for slicing binaries is similar to that for slicing high-level languages. Furthermore, there are special applications of the slicing of programs without source code like source code recovery, code transformation and the detection of security critical code fragments. In this paper, in addition to describing the method of interprocedural static slicing of binaries, we discuss how the set of the possible targets of indirect call sites can be reduced by dynamically gathered information. Our evaluation of the slicing method shows that, if indirect function calls are extensively used, both the number of edges in the call graph and the size of the slices can be significantly reduced.Ákos Kiss obtained his M.Sc. in Computer Science from the University of Szeged in 2000. He is currently working on his Ph.D. thesis and his chosen field of research is the analysis and optimization of binary executables. He was the chief programmer of a code compaction project which sought to reduce ARM binaries. He is also interested in GCC and in open source developmentJudit Jász obtained her M.Sc. in Computer Science recently from the University of Szeged and is currently a Ph.D student. Her main research interest is adapting slicing methods—originally intended for high-level languages—to binary executables. She is also actively working on improving the GCC compiler.Tibor Gyimóthy is the head of the Software Engineering Department at the University of Szeged in Hungary. His research interests include program comprehension, slicing, reverse engineering and compiler optimization. He has published over 60 papers in these areas and was the leader of several software engineering R&D projects. He is the Program Co-Chair of the 21th International Conference on Software Maintenance, which will be held in Budapest, Hungary in 2005.  相似文献   

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

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