How to Prevent Software Bugs?

Due to the fact that errors are the incorrect or missing effects of human actions, it would be possible to prevent the occurrence of such defects, if we could automatically detect and correct wrong people’s actions.

Such preventive actions are called faults blocking because they help to freeze the penetration of some errors in the system. This can be achieved through adherence to standards and well-defined stages of program development or through the use of software tools that support software development languages and standards.

Also, we can analyze the causes or consequences behind the invalid human actions, and deal with the root causes instead. This attitude is called bug source removal and it is concentrated on the human faults that can lead to incorrect choice of software development methodologies, programming languages, quality assurance activities, etc.

Faults blocking and bug source removal both help in the prevention of the errors penetration to the system. These types of error prevention techniques can be used for many software systems in order to reduce the probability of error penetration into the system and reduce further costs to fix these software bugs.

Specific product engineering environment and the problems associated with it play a significant role for the effective usage of fault prevention techniques. That’s why appropriate defect prevention activities should be selected for specific applications.

Related Articles

TDD won’t work too well in most form as it is focusing on low level aspect of software architecture. BDD would be better especially in agile environment with good automation behind it.
I guess quite a good guidelines were brought in Automated Defect Prevention approach. The focus was on bringing automation on every level and examining root cause of a bug. The root cause not in meaning of line of code but issue with skills, tools, approach etc.
The approach deserves considering maybe after refreshing on some tools and automation approaches.