Software Bug Averting Technologies

by Nataliia Vasylyna | April 6, 2012 3:30 pm

Formal methods are effective tools in preventing the ingress of bugs into the software system. Formal specifications define an unambiguous set of specifications so that the customer requirements and the limitations of the environment and design features are displayed properly, thus reducing the random hits of defects in the system or reducing the sources of these bugs.

Formal verification is used to test the conformity of code or design with formal specifications in order to make sure that the software meets the formal specifications concerning software bugs[1]. That’s why formal specifications are regarded as strategies of the prevention software bugs.

Formal verification is very similar to other software verification[2] technologies, such as inspections and software testing[3], but with one difference – it focuses on the verification of the absence of bugs, while others methods focus on the verification of the presence of bugs. Sometimes, as a side effect for the formal verification the detection of the bugs’ presence may occur.

Proper use of right software technologies and languages can also reduce the entry of bugs into the system. For instance, Cleanroom technology consists of formal inspections at the initial stages of software development and statistical testing in the late stages of development. Such use of formal inspections leads to the decrease of the bugs’ penetration into the system and to the increase of the quality of the finished software product.

Another example of technology that is aimed at reducing the number of bugs and increasing the quality of the program is a component-based software engineering, where the collection of reusable business components plays an important role.

However, one must be very careful in applying component-based software engineering, because use of different profiles leads to a completely different quality levels, and there is still some unsolved problems concerning the certification of commercial off-the-shelf components. Therefore, a thorough examination and evaluation should be conducted prior to the adoption and use of any software.

Learn more from QATestLab

Related Posts:

Endnotes:
  1. software bugs: https://qatestlab.com/services/sample-deliverables/bug-reports-examples/
  2. software verification: https://qatestlab.com/services/our-qa-services/independent-validation-and-verification/
  3. software testing: https://qatestlab.com/services/our-qa-services/software-product-testing/
  4. Root Cause Analysis for Software Bug Averting: https://blog.qatestlab.com/2012/04/02/root-cause-analyses-for-software-bug-averting/
  5. Latent and Masked Software Bugs: What’s the Difference?: https://blog.qatestlab.com/2011/10/21/latent-and-masked-software-bugs-what-is-the-difference/

Source URL: https://blog.qatestlab.com/2012/04/06/software-bug-averting-technologies/