共查询到20条相似文献,搜索用时 15 毫秒
1.
《Software, IEEE》1997,14(2)
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.
徐哲明 《网络安全技术与应用》2013,(7):63-63,66
创造一个安全而稳定的互联网运行和发展环境是信息化时代对我们提出的一个新的要求。在局域网广泛应用于网络自动化办公、教育、信息交换的今天,其运行过程中的可靠性与稳定性开始引起人们的重视。本文就从硬件及网络安全维护这两方面入手,阐述如何更好地保障局域网的安全和稳定。 相似文献
5.
J. Strother Moore 《International Journal on Software Tools for Technology Transfer (STTT)》2006,8(4-5):359-371
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.
Krzysztof R. Apt 《Acta Informatica》1981,15(3):219-232
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.
Saxena N.R. McCluskey E.J. 《IEEE transactions on pattern analysis and machine intelligence》1994,20(6):424-431
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.
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.
Jesus Escudero-Sahuquillo Pedro J. Garcia Francisco J. Quiles Sven-Arne Reinemo Tor Skeie Olav Lysne Jose Duato 《Journal of Parallel and Distributed Computing》2014
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.
Prof. Stefano Spaccapietra Christine Parent Yann Dupont 《The VLDB Journal The International Journal on Very Large Data Bases》1992,1(1):81-126
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.
20.
针对当提供的信息不完备时,用粗糙集理论得出的决策规则其依据不充分的问题,给出了可信度的概念和定义,为粗糙集理论的应用提供了有用的分析工具。 相似文献