Let's define software diagnostics as a discipline studying abnormal software structure and behavior in software execution artifacts (such as memory dumps, software and network traces and logs) using pattern-driven132, systemic133 and pattern-based134 analysis methodologies.
132 http://www.patterndiagnostics.com/Introduction-Software-Diagnostics-materials
133 http://www.patterndiagnostics.com/systemic-diagnostics-materials
134 http://www.patterndiagnostics.com/pattern-based-diagnostics-materials