Software Reliability is the quality of the software which ensures that the performance of the software is consistent and the software is trustworthy. This also ensures that the accuracy of the software is quite good and almost approaching to the perfection.
How to get High Reliability in Software ?
If we need to develop a software with high reliability, there are some certain points which need to be considered while developing the high reliable software:
1. Error Avoidance:
During the development of the software, each and every possibility of availability of the error should be avoided as much as possible. Therefore, for the development of high reliable software we need the following attributes:
- Experienced developers: To get the high reliability and in order to avoid error as much as possible, we need experienced developers.
- Software engineering tools: For the high reliable software, best software engineering tools are needed.
- CASE tools: CASE tools used should be suitable and adaptable.
2. Error Detection:
Instead of using the best possible methods to avoid the error but it is still possible that some errors may be present in the software. Hence in order to get the high reliable software, every error should be detected. The process of error detection is done in form of testing. This includes various testing processes. There are some certain steps to follow to detect the errors in software. The most common testing used here for the error detection is reliability testing.
3. Error Removal:
Now when the errors are detected in the software, then we need to fix them. In order to fix the errors, in other words in order to remove the errors from the software, we need testing processes that are repeated again and again. For the error removal process, one error is removed and the tester checks whether the error is completed removed or not. Therefore, this technique is the repetition of reliability testing process.
Fault-tolerance means the giving the desired and correct result in spite of failure in the system. In spite of using error avoidance, error detection and removal it is practically not possible to develop a software hundred percent error free. Some errors still may exist in spite of carrying out different testing processes again and again. In order to make the high reliable software, we need the software to be fault-tolerant. There are several techniques used to make the system fault-tolerant. This includes:
- N-version programming: N copies of software are made in different versions.
- Recovery blocks: Different algorithms are used to develop the different blocks.
- Rollback recovery: Each time system is accessed it is tested.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
- Software Engineering | Jelinski Moranda software reliability model
- Software Engineering | Schick-Wolverton software reliability model
- Software Engineering | Reliability Growth Models
- Software Testing | Reliability Testing
- Reliability Attributes in Software Development
- Site Reliability Engineering
- Difference between High Level Design and Low Level Design
- Software Engineering | Halstead’s Software Metrics
- Software Engineering | Classification of Software Requirements
- Software Engineering | Classification of Software
- Software Engineering | Software Project Management Complexities
- Software Engineering | Role and Responsibilities of a software Project Manager
- Software Engineering | Seven Principles of software testing
- Software Engineering | Agile Software Development
- Software Engineering | Software Maintenance
- Software Engineering | Introduction to Software Engineering
- Software Engineering | Software Business and Development
- Software Engineering | Characteristics of good Software
- Software Engineering | Identifying Software Development Metrics
- Software Engineering | Changing Nature of Software
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.