首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
Novel views of mature ideas on software and quality productivity are presented. The author investigates the nature of object oriented development and what it says about the nature of testing techniques. Specifically, he explores an approach to assertion placement based on error masking. As expected, he found that information hiding and encapsulation can be detrimental to system level and integration testing, but not always  相似文献   

2.
A practical approach to programming with assertions   总被引:1,自引:0,他引:1  
Embedded assertions have been recognized as a potentially powerful tool for automatic runtime detection of software faults during debugging, testing, maintenance and even production versions of software systems. Yet despite the richness of the notations and the maturity of the techniques and tools that have been developed for programming with assertions, assertions are a development tool that has seen little widespread use in practice. The main reasons seem to be that (1) previous assertion processing tools did not integrate easily with existing programming environments, and (2) it is not well understood what kinds of assertions are most effective at detecting software faults. This paper describes experience using an assertion processing tool that was built to address the concerns of ease-of-use and effectiveness. The tool is called APP, an Annotation PreProcessor for C programs developed in UNIX-based development environments, APP has been used in the development of a variety of software systems over the past five years. Based-on this experience, the paper presents a classification of the assertions that were most effective at detecting faults. While the assertions that are described guard against many common kinds of faults and errors, the very commonness of such faults demonstrates the need for an explicit, high-level, automatically checkable specification of required behavior. It is hoped that the classification presented in this paper will prove to be a useful first step in developing a method of programming with assertions  相似文献   

3.
4.
创造一个安全而稳定的互联网运行和发展环境是信息化时代对我们提出的一个新的要求。在局域网广泛应用于网络自动化办公、教育、信息交换的今天,其运行过程中的可靠性与稳定性开始引起人们的重视。本文就从硬件及网络安全维护这两方面入手,阐述如何更好地保障局域网的安全和稳定。  相似文献   

5.
This paper shows how classic inductive assertions can be used in conjunction with a formal operational semantics to prove partial correctness properties of programs. The method imposes only the proof obligations that would be produced by a verification condition generator – but does not require the definition of a verification condition generator. All that is required is a theorem prover, a formal operational semantics, and the object program with appropriate assertions at user-selected cut points. The verification conditions are generated in the course of the theorem-proving process by straightforward symbolic evaluation of the formal operational semantics. The technique is demonstrated by proving the partial correctness of simple bytecode programs with respect to a preexisting operational model of the Java Virtual Machine.  相似文献   

6.
Summary We prove that recursive assertions are enough for proofs of parallel programs considered in Owicki and Gries [7]. In other words, we prove that for any parallel program S and recursive assertions p and q if {p} S{q} is true under the standard interpretation in natural numbers then all intermediate assertions needed in the proof can be chosen recursive. Finally, we show that if auxiliary variables are used only as program counters then the above result does not hold.  相似文献   

7.
To address the quality problem for software, developers need a technology that specializes in producing robust software. One widely used process that supports the construction of quality software is testing, which executes the program with input data or test cases, and then compares the output data to expected results. However, the transfer of techniques from research to practice has been slow because many techniques do not scale to real programs. An alternative to testing that has increasing popularity and usage entails the use of assertions to monitor the data attributes of functions or classes. Assertions are formal constraints on the behavior of a software application. Assertions can help improve software quality. To use them effectively, it's important to determine when they are valid.  相似文献   

8.
Correctness of the execution of sorting programs can be checked by two assertions: the order assertion and the permutation assertion. The order assertion checks if the sorted data is in ascending or descending order. The permutation assertion checks if the output data produced by sorting is a permutation of the original input data. Permutation and order assertions are sufficient for the detection of errors in the execution of sorting programs; however, in terms of execution time these assertions cost the same as sorting programs. An assertion, called the order-sum assertion, that has lower execution cost than sorting programs is derived from permutation and order assertions. The reduction in cost is achieved at the expense of incomplete checking. Some metrics are derived to quantify the effectiveness of order-sum assertion under various error models. A natural connection between the effectiveness of the order-sum assertion and the partition theory of numbers is shown. Asymptotic formulae for partition functions are derived  相似文献   

9.
Inheritance, together with object and class, is the key concept of object oriented systems. Adopting the concept-oriented view (COV for short) of inheritance, current OO systems such as GemStone, Orion, C++, O2, PostGres, Iris, and SmallTalk dominantly interpret inheritance by retaining all attributes and methods in a subclass from its superclass, and by supporting the specification of additional attributes and methods in the subclass. However, this monotonic extension property may result in a redundant subclass representation which in turn gives rise to update anomalies. Thus extra effort in practice used to prevent these problems from happening is to change an IS-A relationship in COV of hierarchy into sibling in the program-oriented view (POV for short) hierarchy. However, the dichotomy between the concept and implementation leads to a significant difference of the class hierarchy between the designing phase and implementation phase of OO systems, hence increases the complexity in designing OO systems. In this paper, we show that, when the subclass attributes are linearly related to the superclass attributes (the attributes in the superclass can be linearly expressed by those in the subclass), linear subclass assertions/constraints can be elegantly used to resolve the problems such as the redundant subclass representation, and update anomalies. We have proved that (1) given a linear subclass assertion, a non-redundant subclass representation can be automatically decided, and the bilateral mappings between the class and the determined subclass can be automatically constructed, and (2) given a user-chosen subclass representation and the mapping from the chosen subclass to the superclass, the linear subclass assertion and inverse mapping can be automatically constructed, and (3) placing an object into the most specific class in an ISA class hierarchy can be automatically conducted. The proposed novel ideas have been prototyped on GemStone/Smalltalk on a SunSparc/Unix platform. Our experience indicates that the proposed idea can be efficiently and effectively integrated into an OO system.  相似文献   

10.
Woo and Lam propose correspondence assertions for specifying authenticity properties of security protocols. Prior work on checking correspondence assertions depends on model-checking and is limited to finite-state systems. We propose a dependent type and effect system for checking correspondence assertions. Since it is based on type-checking, our method is not limited to finite-state systems. This paper presents our system in the simple and general setting of the π-calculus. We show how to type-check correctness properties of example communication protocols based on secure channels. In a related paper, we extend our system to the more complex and specific setting of checking cryptographic protocols based on encrypted messages sent over insecure channels.  相似文献   

11.
12.
Ad hoc网络的无线、自组织特点使其很容易受到DoS攻击.在已有研究成果DSR-BCA协议的基础上,增加一个应对DoS攻击的机制,参与网络路由的节点都执行路由参与验证算法,当网络数据传输的丢包率超过预设阈值时,用隔离算法找出被DoS攻击的节点并隔离它,使网络节点的有效性最大化.仿真实验表明,该方法在Ad hoc网络受到DoS攻击时的效果明显,在平均传输时延和分组投递率两方面的性能都有提高,对于DoS攻击可以起到很好的抵制作用,提升了网络的健壮性.  相似文献   

13.
According to the soundness and completeness of information in databases,the expressive form and the semantics of incomplete information are discussed in this paper.On the basis of the discussion,the current studies on incomplete data in relational databases are reviewed.In order to represent stochastic uncertainty in most general sense in the real world,probabilistic data are introduced into relational databases.An extended relational data model is presented to express and manipulate probabilistic data and the operations in relational algebra based on the extended model are defined in this paper.  相似文献   

14.
We provide here a systematic comparative study of the relative strength and expressive power of a number of methods for program analysis of Prolog. Among others we show that these methods can be arranged in the following hierarchy: mode analysis ? type analysis ? monotonic properties ? nonmonotonic run-time properties. We also discuss a method allowing us to prove global run-time properties.  相似文献   

15.
We provide here a systematic comparative study of the relative strength and expressive power of a number of methods for program analysis of Prolog. Among others we show that these methods can be arranged in the following hierarchy: mode analysis type analysis monotonic properties nonmonotonic run-time properties. We also discuss a method allowing us to prove global run-time properties.  相似文献   

16.
The overall performance of High-Performance Computing applications may depend largely on the performance achieved by the network interconnecting the end-nodes; thus high-speed interconnect technologies like InfiniBand are used to provide high throughput and low latency. Nevertheless, network performance may be degraded due to congestion; thus using techniques to deal with the problems derived from congestion has become practically mandatory. In this paper we propose a straightforward congestion-management method suitable for fat-tree topologies built from InfiniBand components. Our proposal is based on a traffic-flow-to-service-level mapping that prevents, as much as possible with the resources available in current InfiniBand components (basically Virtual Lanes), the negative impact of the two most common problems derived from congestion: head-of-line blocking and buffer-hogging. We also provide a mathematical approach to analyze the efficiency of our proposal and several ones, by means of a set of analytical metrics. In certain traffic scenarios, we observe up to a 68% of the ideal performance gain that could be achieved in HoL-blocking and buffer-hogging prevention.  相似文献   

17.
Model independent assertions for integration of heterogeneous schemas   总被引:3,自引:0,他引:3  
Due to the proliferation of database applications, the integration of existing databases into a distributed or federated system is one of the major challenges in responding to enterprises' information requirements. Some proposed integration techniques aim at providing database administrators (DBAs) with a view definition language they can use to build the desired integrated schema. These techniques leave to the DBA the responsibility of appropriately restructuring schema elements from existing local schemas and of solving inter-schema conflicts. This paper investigates theassertion-based approach, in which the DBA's action is limited to pointing out corresponding elements in the schemas and to defining the nature of the correspondence in between. This methodology is capable of: ensuring better integration by taking into account additional semantic information (assertions about links); automatically solving structural conflicts; building the integrated schema without requiring conforming of initial schemas; applying integration rules to a variety of data models; and performing view as well as database integration. This paper presents the basic ideas underlying our approach and focuses on resolution of structural conflicts.  相似文献   

18.
19.
一种新的基于混沌变异解决早熟收敛的遗传算法   总被引:5,自引:0,他引:5  
给出解决遗传算法早熟收敛问题的统一框架,基于新的混沌变异模型提出一种新的遗传算法。该算法充分利用混沌的初值敏感性和轨道遍历性,克服了已有混沌变异模型存在搜索盲区大的缺点。多峰值函数优化计算结果验证了该算法的可行性和有效性。  相似文献   

20.
粗糙集理论处理不完备信息的可信度分析   总被引:9,自引:0,他引:9       下载免费PDF全文
唐建国 《控制与决策》2002,17(2):255-256
针对当提供的信息不完备时,用粗糙集理论得出的决策规则其依据不充分的问题,给出了可信度的概念和定义,为粗糙集理论的应用提供了有用的分析工具。  相似文献   

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

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