Latent and Masked Software Bugs. What Is The Difference?

Latent and Masked Software Bugs. What Is The Difference?
October 21 12:30 2011 Print This Article

Now we are going to discuss latent and masked defects. So let’s see the difference.

Latent and Masked Software Bugs. What Is The Difference

A masked defect is an existing error that has not yet caused a failure just because another error has prevented that piece of the code from being performed.

A latent defect is an existing error that has not yet caused a failure because the accurate set of conditions was never met.

Practical explanation of latent errors

Let’s imagine that the application is able to print a document either by laser printer or by dot matrix printer. To reach this the application first searches for the laser printer. In the case if it finds a laser printer it uses this one and prints. In the case if it does not find a laser printer, the application searches for dot matrix printer. And if the application finds a dot matrix printer it prints or an error is given.

So this application will never search for the dot matrix printer. And the application never got tested for the dot matrix printer. That means the accurate conditions were never met for the dot matrix printer. This is what we call a latent software bug.

Practical explanation of masked errors

Now the same application has 2 errors:

  • the dot matrix printer search
  • the dot matrix printer print

But as the search of the dot matrix printer fails the print dot matrix printer error is never detected. So the print dot matrix printer error is a masked software bug.

Related Posts:

  • No Related Posts

About Article Author

view more articles
Nataliia Vasylyna
Nataliia Vasylyna

View More Articles
  • Gianandrea

    I do not understand the practical case.
    1) look for a laser printer
    2a) found > print
    2b) not found > look for a dot matrix printer
    3a) found > print
    3b) not found > error

    So, why “this application will never search for the dot matrix printer”?
    Many thanks

    • Ravinder

      DotMartix printer is never searched if a Laser printer is found. To unmask the error, remove the Laser printer configuration and run your program. It won’t find Laser and hence tries to find DotMartix printer. If that too not found then the discussed masked error will rise up.

      And if you set the DotMartix as the default for first search, and program is unable to find it, then the next Printer, i.e. Laset, is searched for. If none found an error is raised.

      The cause of such error is that ignoring other printers if an earlier searches return a found response. Instead if printers are found from a pool of printers, then such masked error will not arise.