A Combined Testing and Verification Approach for Software Reliability
نویسندگان
چکیده
Automatic and manual software verification is based on applying mathematical methods to a model of the software. Modeling is usually done manually, thus it is prone to modeling errors. This means that errors found in the model may not correspond to real errors in the code, and that if the model is found to satisfy the checked properties, the actual code may still have some errors. For this reason, it is desirable to be able to perform some consistency checks between the actual code and the model. Exhaustive consistency checks are usually not possible, for the same reason that modeling is necessary. We propose a methodology for improving the throughput of software verification by performing some consistency checks between the original code and the model, specifically, by applying software testing. In this paper we present such a combined testing and verification methodology and demonstrate how it is applied using a set of software reliability tools. We introduce the notion of a neighborhood of an error trace, consisting of a tree of execution paths, where the original error trace is one of them. Our experience with the methodology shows that traversing the neighborhood of an error is extremely useful in locating its cause. This is crucial not only in understanding where the error stems from, but in getting an initial idea of how to redesign the code. We use as a case study a robot control system, and report on several design and modeling errors found during the verification and testing process.
منابع مشابه
A hybrid approach to quantify software reliability in nuclear safety systems
Technological advancements have led to the use of computer based systems in safety critical applications. As computer based systems are being introduced in nuclear power plants, effective and efficient methods are needed to ensure dependability and compliance to high reliability requirements of systems important to safety. Even after several years of research, quantification of software reliabi...
متن کاملThe Gap Between Academic Research and Industrial Practice in Software Testing
Name Abbr. Type Papers (2014) Software Testing, Verification and Reliability STVR journal 24 / year International Conference on Software Testing, Verification and Validation ICST conf. 141 submitted 40 accepted International Symposium on Software Testing and Analysis ISSTA conf. 128 submitted 36 accepted International Conference on Testing Software and Systems ICTSS conf. 36 submitted 17 accept...
متن کاملEstimation of Software Reliability by Sequential Testing with Simulated Annealing of Mean Field Approximation
Various problems of combinatorial optimization and permutation can be solved with neural network optimization. The problem of estimating the software reliability can be solved with the optimization of failed components to its minimum value. Various solutions of the problem of estimating the software reliability have been given. These solutions are exact and heuristic, but all the exact approach...
متن کامل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 t...
متن کامل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...
متن کامل