Pattern-Driven Software DiagnosticsPattern-Driven Software Diagnostics . Dmitry Vostokov . Memory...

Post on 14-Aug-2020

12 views 1 download

Transcript of Pattern-Driven Software DiagnosticsPattern-Driven Software Diagnostics . Dmitry Vostokov . Memory...

Pattern-Driven Software Diagnostics

Dmitry Vostokov Memory Dump Analysis Services

Version 1.0

Prerequisites Interest in software diagnostics

© 2012 Memory Dump Analysis Services

Why? No comprehensive systematic study of

software diagnostics

Ad hoc services

Traditionally associated with troubleshooting and debugging

© 2012 Memory Dump Analysis Services

Goals Scientific: a comprehensive

methodology

Technological: limits and services

© 2012 Memory Dump Analysis Services

Diagnostics Based on pattern recognition:

symptoms and signs

Systems approach

© 2012 Memory Dump Analysis Services

Software Diagnostics Based on pattern recognition:

symptoms and signs

Systems approach

© 2012 Memory Dump Analysis Services

Symptoms User or system complaints Error message Slow system High CPU usage

Histories

© 2012 Memory Dump Analysis Services

Signs Traditional artifact patterns Situation dependent: memory or

handle leak Specific vs. non-specific: spike, leak

vs. access violation

Problem Solving Diagnosis treatment Software problem

Diagnosis resolution

© 2012 Memory Dump Analysis Services

Diagnostics Process

© 2012 Memory Dump Analysis Services

Diagnostic encounter Treatment

Monitoring

Postmortem

Checklists

Diagnosing Current State Multiple OS Multiple Platforms Multiple Products Multiple Artifacts Multiple Tools

© 2012 Memory Dump Analysis Services

Pattern Language Structural and behavioural patterns

(S,B)-systems Antipatterns

Example: Inquisitor Pattern Explanations

© 2012 Memory Dump Analysis Services

Meta-patterns Patterns of Software Diagnostics

First Fault Multiple Patterns NULL Case NULL Diagnosis Second Opinion Dominant Subsystem Noise

© 2012 Memory Dump Analysis Services

Monitoring Best Practices Example: artifact collection Software Tracing Best Practices

© 2012 Memory Dump Analysis Services

Certification Individual

Memory Dump Analysis Software Trace Analysis (forthcoming) Corporate

Software Diagnostics Maturity

© 2012 Memory Dump Analysis Services

Diagnostics Audit Catalog of Diagnostic Errors Audit Service from MDAS Checklists for checklists Diagnostics for diagnostics

© 2012 Memory Dump Analysis Services

Human Side

Diagnostic load

Tiredness reduced efficiency

Shallow vs. deep diagnostics

© 2012 Memory Dump Analysis Services

Is Automation Possible?

Growth of data Growth of complexity Impossibility of complete automation Only computer-assisted diagnostics

© 2012 Memory Dump Analysis Services

Systems and Diagnostics General Software Diagnostics Theory

Introduction to Systemic Software Diagnostics

© 2012 Memory Dump Analysis Services

Malware Analysis Malware + Victimware

Victimware: The Missing Part of the Equation

© 2012 Memory Dump Analysis Services

Further Reading Diagnostics

Diagnosis: Philosophical and Medical Perspectives (by Agassi & Laor)

Software Diagnostics

Software Diagnostics Institute Memory Dump Analysis Anthology: Volumes 1, 2, 3, 4, 5, 6, 7, … Volume 6 is in preparation (June, 2012) Volume 7 is planned for the end of 2012 Software Trace and Memory Dump Analysis: Patterns, Tools, Processes and

Best Practices Introduction to Pattern-Driven Software Problem Solving Cloud Memory Dump Analysis Fundamentals of Complete Crash and Hang Memory Dump Analysis Introduction to Software Narratology

© 2012 Memory Dump Analysis Services

Q&A

Please send your feedback using the contact form on DumpAnalysis.com

© 2012 Memory Dump Analysis Services

Thank you for attendance!

© 2012 Memory Dump Analysis Services