Upload
dmitry-vostokov
View
148
Download
0
Embed Size (px)
Citation preview
Prerequisites Interest in software diagnostics, troubleshooting and debugging
© 2013 Software Diagnostics Services
Software Diagnostics A discipline studying abnormal software structure and behavior in software execution artifacts (such as memory dumps, software and network traces and logs) using pattern-driven, systemic and pattern-based analysis methodologies.
© 2013 Software Diagnostics Services
Diagnostics Pattern
A common recurrent identifiable problem together with a set of recommendations and possible solutions to apply in a specific context.
© 2013 Software Diagnostics Services
Pattern-Driven
Finding patterns in software artefacts
Using checklists and pattern catalogs
© 2013 Software Diagnostics Services
Catalog Classification By abstraction
Meta-patterns
By artefact type
Software Log Memory Dump Network Trace
By story type
Problem Description Software Disruption UI Problem
By intention
Malware
© 2013 Software Diagnostics Services
Catalog Partition By execution mode and space
By reported problem type Crash Hang Spike Leak
By structure and behavior Structural memory patterns Software trace classification
By objects Thread Process Module Exception Stack Trace
By actions Wait Chain Contention Deadlock
© 2013 Software Diagnostics Services
Pattern Implementation By OS vendor
Windows Mac OS X Linux
By product lines
© 2013 Software Diagnostics Services
Pattern Form Description
Description + Recommendation
Description + Solution
© 2013 Software Diagnostics Services
Pattern Networks
Intra-Catalog Inter-Catalog
© 2013 Software Diagnostics Services
Bridging The Great Divide
Software Construction
Patterns
Software Diagnostics
Patterns
Architectural patterns Memory dump and log analysis patterns Publisher-Subscriber Distributed Spike, Message Density Layers Stack Trace, Fiber Bundle Pipes and Filters Coupled Processes, Blocked Thread Broker Wait Chains, Discontinuity
© 2013 Software Diagnostics Services
Static Code Analysis Patterns
Pattern Sequences Originally: Pattern Succession
Inter-Catalog
© 2013 Software Diagnostics Services
Pattern-Based Pattern evolution
Catalog evolution
Catalog distibution
© 2013 Software Diagnostics Services
Catalog Evolution Finding new patterns in artefacts
Pattern prediction
Pattern split
Pattern unification
New catalogs
© 2013 Software Diagnostics Services
Packaging and Delivery Software Diagnostics Workbench
© 2013 Software Diagnostics Services
CARE
Software Diagnostics
CORE
Economic Benefits Improved communication of
diagnostics reports using uniform pattern language
Increased productivity by systematic pattern usage
Increased quality by leveraging existing expertise
Support for global teams Quantifiable analysis
© 2013 Software Diagnostics Services
Further Reading Pattern-Based Software Construction
“Pattern-Oriented Software Architecture: A System of Patterns” by Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, Michael Stal “Pattern-Oriented Software Architecture: On Pattern and Pattern Languages” by Frank Buschmann, Kevlin Henney, Douglas C. Schmidt “Patterns-Based Engineering: Successfully Delivering Solutions via Patterns” by Lee Ackerman, Celso Gonzalez
Pattern-Based Software Diagnostics
Software Diagnostics Institute Memory Dump Analysis Anthology: Volumes 1, 2, 3, 4, 5, 6, 7, 8, … Volume 6 is in preparation (January, 2013) Volume 7 is in preparation (February, 2013) Volume 8 is planned for November, 2013 Software Trace and Memory Dump Analysis: Patterns, Tools, Processes and Best Practices Introduction to Pattern-Driven Software Problem Solving Software Trace and Memory Dump Analysis Introduction to Pattern-Driven Software Diagnostics
© 2013 Software Diagnostics Services
A Bit of Philosophy If want to be the best software diagnostician you need to be a philosopher.
After Galen’s thoughts on medicine Introduction to Philosophy of Software Diagnostics
© 2013 Software Diagnostics Services
Q&A
Please send your feedback using the contact form on DumpAnalysis.com
© 2013 Software Diagnostics Services