Results 1 - 10
of
70
Software Reliability via Run-Time Result-Checking
- JOURNAL OF THE ACM
, 1994
"... We review the field of result-checking, discussing simple checkers and selfcorrectors. We argue that such checkers could profitably be incorporated in software as an aid to efficient debugging and reliable functionality. We consider how to modify traditional checking methodologies to make them more ..."
Abstract
-
Cited by 91 (2 self)
- Add to MetaCart
We review the field of result-checking, discussing simple checkers and selfcorrectors. We argue that such checkers could profitably be incorporated in software as an aid to efficient debugging and reliable functionality. We consider how to modify traditional checking methodologies to make them more appropriate for use in realtime, real-number computer systems. In particular, we suggest that checkers should be allowed to use stored randomness: i.e., that they should be allowed to generate, pre-process, and store random bits prior to run-time, and then to use this information repeatedly in a series of run-time checks. In a case study of checking a general real-number linear transformation (for example, a Fourier Transform), we present a simple checker which uses stored randomness, and a self-corrector which is particularly efficient if stored randomness is allowed.
Evaluating Testing Methods by Delivered Reliability
, 1998
"... There are two main goals in testing software: (1) To achieve adequate quality (debug testing); the objective is to probe the software for defects so that these can be removed. (2) To assess existing quality (operational testing); the objective is to gain confidence that the software is reliable. Th ..."
Abstract
-
Cited by 51 (9 self)
- Add to MetaCart
There are two main goals in testing software: (1) To achieve adequate quality (debug testing); the objective is to probe the software for defects so that these can be removed. (2) To assess existing quality (operational testing); the objective is to gain confidence that the software is reliable. The names are arbitrary, and most testing techniques address both goals to some degree. However, debug methods tend to ignore random selection of test data from an operational profile, while for operational methods this selection is all-important. Debug methods are thought, without any real proof, to be good at uncovering defects so that these can be repaired, but having done so they do not provide a technically defensible assessment of the reliability that results. On the other hand, operational methods provide accurate assessment, but may not be as useful for achieving reliability. This paper examines the relationship between the two testing goals, using a probabilistic analysis. We define s...
Monitoring, Testing, and Debugging of Distributed Real-Time Systems
, 2000
"... Testing is an important part of any software development project, and can typically surpass more than half of the development cost. For safety-critical computer based systems, testing is even more important due to stringent reliability and safety requirements. However, most safety-critical comput ..."
Abstract
-
Cited by 44 (1 self)
- Add to MetaCart
Testing is an important part of any software development project, and can typically surpass more than half of the development cost. For safety-critical computer based systems, testing is even more important due to stringent reliability and safety requirements. However, most safety-critical computer based systems are real-time systems, and the majority of current testing and debugging techniques have been developed for sequential (non real-time) programs. These techniques are not directly applicable to real-time systems, since they disregard issues of timing and concurrency. This means that existing techniques for reproducible testing and debugging cannot be used. Reproducibility is essential for regression testing and cyclic debugging, where the same test cases are run repeatedly with the intention of verifying modified program code or to track down errors. The current trend of consumer and industrial applications goes from single microcontrollers to sets of distributed micro-controllers, which are even more challenging than handling real-time per-see, since multiple loci of observation and control additionally must be considered. In this thesis we try to remedy these problems by presenting an integrated approach to monitoring, testing, and debugging of distributed real-time systems. For monitoring
Software Engineering for Safety: A Roadmap
- THE FUTURE OF SOFTWARE ENGINEERING
, 2000
"... This report describes the current state of software engineering for safety and proposes some directions for needed work that appears to be achievable in the near future ..."
Abstract
-
Cited by 25 (0 self)
- Add to MetaCart
This report describes the current state of software engineering for safety and proposes some directions for needed work that appears to be achievable in the near future
Reflections on the Pentium Division Bug
, 1997
"... We review the field of result-checking and suggest that it be extended to a methodology for enforcing hardware/software reliability. We thereby formulate a vision for "self-monitoring" hardware/software whose reliability is augmented through embedded suites of run-time correctness checkers. In pa ..."
Abstract
-
Cited by 21 (1 self)
- Add to MetaCart
We review the field of result-checking and suggest that it be extended to a methodology for enforcing hardware/software reliability. We thereby formulate a vision for "self-monitoring" hardware/software whose reliability is augmented through embedded suites of run-time correctness checkers. In particular, we suggest that embedded checkers and correctors may be employed to safeguard against arithmetic errors such as that which has bedeviled the Intel Pentium Microprocessor. We specify checkers and correctors suitable for monitoring the multiplication and division functionalities of an arbitrary arithmetic processor and seamlessly correcting erroneous output which may occur for any reason during the lifetime of the chip.
Software Fault Tolerance: A Tutorial
, 2000
"... Since its founding, NASA has been dedicated to the advancement of aeronautics and space science. The NASA Scientific and Technical Information (STI) Program Office plays a key part in helping NASA maintain this important role. The NASA STI Program Office is operated by Langley Research Center, the l ..."
Abstract
-
Cited by 19 (0 self)
- Add to MetaCart
Since its founding, NASA has been dedicated to the advancement of aeronautics and space science. The NASA Scientific and Technical Information (STI) Program Office plays a key part in helping NASA maintain this important role. The NASA STI Program Office is operated by Langley Research Center, the lead center for NASA's scientific and technical information. The NASA STI Program Office provides access to the NASA STI Database, the largest collection of aeronautical and space science STI in the world. The Program Office is also NASA's institutional mechanism for disseminating the results of its research and development activities. These results are published by NASA in the NASA STI Report Series, which includes the following report types: TECHNICAL PUBLICATION. Reports of completed research or a major significant phase of research that present the results of NASA programs and include extensive data or theoretical analysis. Includes compilations of significant scientific and technical data and information deemed to be of continuing reference value. NASA counterpart of peer-reviewed formal professional papers, but having less stringent limitations on manuscript length and extent of graphic presentations. TECHNICAL MEMORANDUM. Scientific and technical findings that are preliminary or of specialized interest, e.g., quick release reports, working papers, and bibliographies that contain minimal annotation. Does not contain extensive analysis.
Formal Verification for Time-Triggered Clock Synchronization
, 1999
"... Distributed dependable real-time systems crucially depend on faulttolerant clock synchronization. This paper reports on the formal analysis of the clock synchronization service provided as an integral feature by the Time-Triggered Protocol (TTP), a communication protocol particularly suitable for sa ..."
Abstract
-
Cited by 17 (1 self)
- Add to MetaCart
Distributed dependable real-time systems crucially depend on faulttolerant clock synchronization. This paper reports on the formal analysis of the clock synchronization service provided as an integral feature by the Time-Triggered Protocol (TTP), a communication protocol particularly suitable for safety-critical control applications, such as in automotive “by-wire ” systems. We describe the formal model extracted from the TTP specification and its formal verification, using the PVS system. Verification of the central clock synchronization properties is achieved by linking the TTP model of the synchronization algorithm to a generic derivation of the properties from abstract assumptions, essentially establishing the TTP algorithm as a concrete instance of the generic one by verifying that it satisfies the abstract assumptions. We also show how the TTP algorithm provides the clock synchronization that is required by a previously proposed general framework for verifying time-triggered algorithms.
Operational Profile Specification, Test Case Generation, and Reliability Estimation for Modules
, 1994
"... As our dependence on software grows, the need for reliable software, and the need to be able to quantify this reliability, increases. Not only are models for estimating reliability important, so are the practical issues involved in calculating these estimations. This thesis explores both practical a ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
As our dependence on software grows, the need for reliable software, and the need to be able to quantify this reliability, increases. Not only are models for estimating reliability important, so are the practical issues involved in calculating these estimations. This thesis explores both practical and theoretical problems associated with module reliability estimation. We describe a technique for specifying operational profiles for modules. The technique is more general than those of the current literature and allows more accurate specification of module usage. We also outline our algorithm and software tool for automatically generating random test cases from any such operational profile specification for a module, such that the test cases correspond to a random sampling of the module's input in actual operation. Operational-based statistical estimations, such as operational reliability, may be more meaningful when our specification method and generation algorithm are used, because our ...
T-VEC: A tool for developing critical systems
- In Proceedings of the 1996 Annual Conference on Computer Assurance (COMPASS 96
, 1996
"... This paper describes the specification-based testing and analysis tools, and associated processes, that were used to develop and certify safety-critical avionics systems in an industrial organization. These tools comprise an integrated development environment supporting specification acquisition and ..."
Abstract
-
Cited by 11 (1 self)
- Add to MetaCart
This paper describes the specification-based testing and analysis tools, and associated processes, that were used to develop and certify safety-critical avionics systems in an industrial organization. These tools comprise an integrated development environment supporting specification acquisition and analysis, requirement-based automatic test vector generation, test coverage analysis, test driver generation, and test results analysis. The paper describes the specification model, method, development environment, and tool qualification approach. The capabilities of the automatic test generator are compared with foundational concepts and related testing strategies and mechanisms. 1.
Why Engineers Should Consider Formal Methods
- In 1997 AIAA/IEEE 16th Digital Avionics Systems Conference
, 1997
"... This paper presents a logical analysis of a typical argument favoring the use of formal methods for software development, and suggests an alternative argument that is simpler and stronger than the typical one. ..."
Abstract
-
Cited by 11 (0 self)
- Add to MetaCart
This paper presents a logical analysis of a typical argument favoring the use of formal methods for software development, and suggests an alternative argument that is simpler and stronger than the typical one.

