Combining Testing and Correctness Verification in Software Reliability Assessment
نویسنده
چکیده
The delivery of sophisticated control algorithms or system features via software is the driving force behind its increased use in safety-critical applications. The existence of software faults in these systems is not tolerable and a high degree of confidence that safety-critical systems meet their reliability requirements must be gained prior to their deployment. The transformational approach to software reliability assessment of process-control systems combines the strengths of formal verification and statistical sampling techniques in one unified framework. Partial program proofs are used to amplify the effect of test cases, i.e., they allow us to infer the behavior of the program for many inputs based on its behavior for one input. These transformations reduce the effective size of the input space, typically by eliminating one or more dimensions in the input space. In this paper, we report the application of the transformational reliability assessment approach to two control programs in the aerospace engineering domain: a simplified satellite pitch controller and an automatic airplane-landing program. Advantages of transformational approach include significant reduction in size (dimensionality) of input space domain, exact determination of minimal fault size, and reduced sensitivity of reliability estimate to variations in the operational profile.
منابع مشابه
Software Testing
Software testing is any activity aimed at evaluating an attribute or capability of a program or system and determining that it meets its required results. [Hetzel88] Although crucial to software quality and widely deployed by programmers and testers, software testing still remains an art, due to limited understanding of the principles of software. The difficulty in software testing stems from t...
متن کاملAttaining High Confidence in Software Reliability Assessment
It is a cruel reality that the goal of producing “perfect software” remains elusive. When software is part of a critical system, it is necessary to estimate the risk associated with its use. Software reliability is defined as the probability of failure free execution given a specific environment and a fixed time interval. The goal of reliability assessment is not just to estimate the failure pr...
متن کاملJnting Models Nonerror - Counting Models Deterministic Bayesian Markov Deterministic Stochastic Bayesian
It is essential to assess the reliability of digital computer systems used for critical real-time control applications (e.g., nuclear power plant safety control systems). This involves the assessment of the design correctness of the combined hardware/software system as well as the reliability of the hardware. In this paper we survey methods of determining the design correctness of systems as ap...
متن کاملImpact of program transformation on software reliability assessment
The statistical sampling method is a theoretically sound approach for measuring the reliability of safety-critical software, such as control systems for nuclear power plants, aircrafts, space vehicles, etc. It has, however, some practical drawbacks, two of which are the large number of test cases needed to attain a reasonable confidence in the reliability estimate and the sensitivity of the rel...
متن کاملCombining Scenario-based Requirements with Static Verification and Dynamic Testing
Two important prerequisites for achieving high quality software are solid requirements engineering and systematic testing. Scenarios and use cases are gaining increased attention in requirements engineering, as means for eliciting, documenting and validating requirements. Scenarios may also be a basis for testing. This paper identifies a number of possibilities of combining scenario-based requi...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1997