Modern debugging is complex and usually distributed across organizations involving many persons and teams:
We propose fully pattern-oriented debugging process that takes into account the integral role of software diagnostics and software construction patterns.
Whenever we have a software incident, we usually start with a small number of Elementary Software Diagnostics Patterns38 to identify what kind of software execution artefacts to collect. Such artifacts may include memory dumps and logs for postmortem debugging but can also be running software itself, the so-called live debugging scenario. These patterns can be also called Software Diagnostics Analysis Patterns reflecting the fact that we need to analyse what we further need to do before doing software diagnostics itself.
Based on artefacts we identify patterns of software behaviour such memory and trace analysis patterns. We call these patterns Software Diagnostics Usage Patterns.
Such usage patterns can be also called Debugging Analysis Patterns because we need to diagnose the right problem before doing any debugging.
Specific techniques reused across different software diagnostics and debugging scenarios we name Software Diagnostics and Debugging Implementation Patterns. There can also be Debugging Usage Patterns as reusable debugging scenarios.
Previously we introduced Unified Debugging Patterns 39 (Analysis, Architecture, Design, Implementation, and Usage) to which we would like to add Debugging Presentation Patterns and similar pattern stack for software diagnostics:
These pattern categories are usually already in existence and are important only when we develop new software diagnostics and debugging infrastructures and tools. For example, Patterns-View-Controller architectural pattern40.
Examples of Elementary Software Diagnostics (Software Diagnostics Analysis) Patterns, Software Diagnostics Usage (Debugging Analysis) Patterns, and Debugging Implementation Patterns can be found in Accelerated Windows Debugging book41.
38 http://www.dumpanalysis.org/elementary-diagnostics-patterns
39 http://www.patterndiagnostics.com/PDSPSI-materials
40 http://www.dumpanalysis.org/patterns-view-controller
41 http://www.dumpanalysis.org/accelerated-windows-debugging-book
18.217.15.45