Upload
dmitry-vostokov
View
110
Download
1
Embed Size (px)
Citation preview
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
Pattern Groupings Syndromes
Pattern Interaction
Pattern Succession
Problem Solving Diagnosis treatment Software problem
Diagnosis resolution
© 2012 Memory Dump Analysis Services
Problem Solving
Workaround Patterns
Unified Debugging Patterns
© 2012 Memory Dump Analysis Services
Diagnostics Process
© 2012 Memory Dump Analysis Services
Diagnostic encounter Treatment
Monitoring
Postmortem
Checklists
Artifact Checklists
© 2012 Memory Dump Analysis Services
Memory Dump Analysis
Software Trace Analysis
Artifact Baselines
© 2012 Memory Dump Analysis Services
Memory Dumps: Reference Stack
Traces Software Logs: Master Traces
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
Pattern Catalog Problem Description Analysis
UI Problem Analysis
Memory Dump Analysis
Software Trace Analysis
© 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
Pattern Isomorphism Multiple Exceptions Windows Mac OS X
Spiking Thread
Windows Mac OS X / Linux
© 2012 Memory Dump Analysis Services
Performance Monitoring Trace Patterns: Counter Value Global Monotonicity Constant Value
© 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