共查询到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.
3.
面向方面程序设计是面向对象程序设计技术的补充和完善,高效的面向方面程序测试方法是面向方面程序的质量保证.提出一个基于谓词动态切片技术的测试方法.首先,构造完整的AOP语句控制流图,它包含AOP的方面、切入点、连接点、建议等因素.然后,根据完整的AOP语句控制流图生成所有路径,针对每条路径,构造其分支函数,计算得到相应的测试数据,若路径不可执行,则不再计算其测试数据.在这个过程中,通过构建简化动态依赖图来生成谓词动态切片,再用谓词动态切片来帮助调整测试数据.最后,将各路径的实际输出数据与期望输出数据相比较,即可判断该程序是否有错误.经实例分析和实验验证,此方法可以系统地测试一个完整的面向方面程序,提高了测试数据的生成效率,并产生有效的测试用例. 相似文献
4.
用Z形式化描述程序切片 总被引:1,自引:0,他引:1
程序切片是一种重要技术,已广泛地应用于软件工程的各个领域,如程序理解、维护、调试、测试、复用、度量等.虽然,越来越多的研究者致力于程序切片工作,然而由于缺少形式化方面的工作导致程序切片可能存在不一致性和模糊性.本文尝试着用Z语言来形式化描述程序切片,考虑了程序切片中诸如程序依赖图和程序切片算法等常用的方面.该形式化描述不仅能帮助人们正确地理解程序切片的含义,而且还能够从比较严格的意义上明确程序切片的应用领域. 相似文献
5.
6.
求解TSP问题的思维进化算法 总被引:12,自引:0,他引:12
针对一类非数值问题──TSP的特点,在基本思维进化算法(MEC)框架的基础上,提出了求解TSP的趋同和异化策略,从而实现了MEC在求解非数值问题的一个应用,并对其收敛性进行了简要证明。同某些遗传算法(IENS和GESA)比较的仿真实验结果表明:MEC在收敛速度、解的优良性等方面要优于这些遗传算法。 相似文献
7.
Predicate Abstraction of ANSI-C Programs Using SAT 总被引:1,自引:0,他引:1
Edmund Clarke Daniel Kroening Natasha Sharygina Karen Yorav 《Formal Methods in System Design》2004,25(2-3):105-127
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.
Shen V.R.L. Juang T.T.-Y. 《IEEE transactions on systems, man, and cybernetics. Part A, Systems and humans : a publication of the IEEE Systems, Man, and Cybernetics Society》2008,38(1):78-87
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.
《IEEE transactions on pattern analysis and machine intelligence》1980,(6):539-544
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.
17.
一种基于扩展规则的#SAT 求解系统 总被引:2,自引:1,他引:1
#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. 相似文献