Home » Software Engineering

Classification of software failures | Software Engineer

In this article, we are going to study how software failures are classified into different types? We will first mention all the types in which the software failures are classified and then will study each of them in detail individually.
Submitted by Monika Sharma, on November 16, 2019

Software failure arises due to the presence of errors in the software. However, the presence of errors in the software does not always lead to system failures. System failures are very critical and also their recovery is costly because they sometimes also affect the software, most of the times damaging the hardware completely. However, every software failure does not result in such situations, but still many of them do. Also, if the user requirements that the software was intended to offer, are not fulfilled, then this is also considered as a software failure.

Hence, the classification of software failures was done in order to find out its behavior on the hardware, its nature: whether recoverable or non-recoverable, etc.

We classify the software failures into five types, namely,

  1. Transient
  2. Permanent
  3. Recoverable
  4. Unrecoverable
  5. Cosmetic

Now let us see what each of the following means...

1) Transient

The transient software failures occur only for certain input values. Most of the time, these values turn to be out of the range that the system is able to handle which leads to system crashing and thus failure. Hence, while testing, the software is tested for both valid and invalid inputs to check the behavior and reliability of the software so that such conditions can be eliminated to the maximum extent.

2) Permanent

Their type of software failures occurs for all the input values. In such cases, a function that has error is invoked through the internal calling and then the error in it causes the failure. Some examples of it are the infinite loops that the function undergoes which causes the system to bear extra load which when exceeds the limit result in complete system failure.

3) Recoverable

The recoverable system failures are such that for a time duration, they fail to respond to any of the user’s command. In such cases, the system usually gets hanged, it does not respond or sometimes the screen may also go blank, but after a duration of time, the system itself tries to resolve the issue and the software again starts to function.

4) Unrecoverable

The unrecoverable software is usually the most damage causing to the hardware. This software, when failed, does not recover itself. Most of the time they destroy the hardware components, or the system needs to be restarted which causes an unexpected behavior to the other running applications too.

5) Cosmic

The cosmic classification of software failures is the least damaging. They hardly cause any problem to the other software or hardware. They may just cause some minor irritations like getting the mouse to be stuck at a place for a while, etc. No incorrect results are produced in this type of software failure.



Comments and Discussions



Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates

© some rights reserved.