A debugging pattern describes a generic set of steps to rectify or correct a
bug within a software system. It is a solution to a recurring problem that is related to a particular bug or type of bug in a specific context.
A bug pattern is a particular type of pattern. The original concept of a pattern was introduced by the architect
Christopher Alexander as a
design pattern
A design pattern is the re-usable form of a solution to a design problem. The idea was introduced by the architect Christopher Alexander and has been adapted for various other disciplines, particularly software engineering. The " Gang of Four" ...
.
Some examples of debugging patterns include:
* Eliminate noise bug pattern – Isolate and expose a particular bug by eliminating all other
noise
Noise is sound, chiefly unwanted, unintentional, or harmful sound considered unpleasant, loud, or disruptive to mental or hearing faculties. From a physics standpoint, there is no distinction between noise and desired sound, as both are vibrat ...
in the system. This enables you to concentrate on finding the real issue.
* Recurring bug pattern – Expose a bug via a
unit test
Unit testing, component or module testing, is a form of software testing by which isolated source code is tested to validate expected behavior.
Unit testing describes tests that are run at the unit-level to contrast testing at the integration ...
. Run that unit test as part of a standard build from that moment on. This ensure that the bug will not recur.
* Time-specific bug pattern – Expose the bug by writing a
continuous test that runs continuously and fails when an expected error occurs. This is useful for transient bugs.
See also
*
Design pattern
A design pattern is the re-usable form of a solution to a design problem. The idea was introduced by the architect Christopher Alexander and has been adapted for various other disciplines, particularly software engineering. The " Gang of Four" ...
*
Architectural pattern (computer science)
Software architecture pattern is a reusable, proven solution to a specific, recurring problem focused on architectural design challenges, which can be applied within various architectural styles.
Examples
Some examples of architectural patte ...
External links
A Pattern Language for Software Debugging{{Webarchive, url=https://web.archive.org/web/20211202173806/https://stargroup.uwaterloo.ca/~mamouika/papers/pdf/IJCS.2006.pdf , date=2021-12-02 (
PDF
Portable document format (PDF), standardized as ISO 32000, is a file format developed by Adobe Inc., Adobe in 1992 to present documents, including text formatting and images, in a manner independent of application software, computer hardware, ...
)
Software architecture
Software design patterns