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

  • View
    1

  • Download
    1

Embed Size (px)

Text of Pattern-Driven Software Diagnostics Pattern-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

  • Pattern Groupings Syndromes

     Pattern Interaction

     Pattern Succession

    http://www.dumpanalysis.org/blog/index.php/pattern-cooperation/ http://www.dumpanalysis.org/blog/index.php/pattern-cooperation/ http://www.dumpanalysis.org/blog/index.php/2010/06/03/succession-of-patterns-part-2/

  • 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

    http://www.dumpanalysis.org/blog/index.php/workaround-patterns/ http://www.dumpanalysis.org/blog/index.php/workaround-patterns/ http://www.dumpanalysis.org/blog/index.php/unified-debugging-patterns/

  • 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

    http://www.dumpanalysis.org/blog/index.php/2007/06/20/crash-dump-analysis-checklist/ http://www.dumpanalysis.org/blog/index.php/2011/03/10/software-trace-analysis-checklist/

  • Artifact Baselines

    © 2012 Memory Dump Analysis Services

     Memory Dumps: Reference Stack

    Traces  Software Logs: Master Traces

    http://www.dumpanalysis.org/blog/index.php/reference-stack-traces/ http://www.dumpanalysis.org/blog/index.php/reference-stack-traces/ http://www.dumpanalysis.org/blog/index.php/2011/01/30/trace-analysis-patterns-part-36/

  • 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

    http://www.dumpanalysis.org/blog/index.php/2012/03/11/software-problem-description-patterns-part-1/ http://www.dumpanalysis.org/blog/index.php/2011/07/14/user-interface-problem-analysis-patterns-part-1/ http://www.dumpanalysis.org/blog/index.php/2011/07/14/user-interface-problem-analysis-patterns-part-1/ http://www.dumpanalysis.org/blog/index.php/crash-dump-analysis-patterns/ http://www.dumpanalysis.org/blog/index.php/trace-analysis-patterns/

  • Meta-patterns Patterns of Software Diagnostics

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

    © 2012 Memory Dump Analysis Services

    http://www.dumpanalysis.org/blog/index.php/2012/06/09/patterns-of-software-diagnostics-part-1/

  • Pattern Isomorphism  Multiple Exceptions Windows Mac OS X

     Spiking Thread

    Windows Mac OS X / Linux

    © 2012 Memory Dump Analysis Services

    http://www.dumpanalysis.org/blog/index.php/2010/05/16/models-for-memory-and-trace-analysis-patterns-part-1/ http://www.dumpanalysis.org/blog/index.php/2012/04/04/crash-dump-analysis-patterns-part-1-mac-os-x/ http://www.dumpanalysis.org/blog/index.php/2007/05/11/crash-dump-analysis-patterns-part-14/ http://www.dumpanalysis.org/blog/index.php/2012/05/09/crash-dump-analysis-patterns-part-14-mac-os-x/

  • Performance Monitoring Trace Patterns:  Counter Value  Global Monotonicity  Constant Value

    © 2012 Memory Dump Analysis Services

    http://www.dumpanalysis.org/blog/index.php/2012/06/23/trace-analysis-patterns-part-51/ http://www.dumpanalysis.org/blog/index.php/2012/06/23/trace-analysis-patterns-part-51/ http://www.dumpanalysis.org/blog/index.php/2012/06/23/trace-analysis-patterns-part-51/

  • Monitoring Best Practices Example: artifact collection Software Tracing Best Practices

    © 2012 Memory Dump Analysis Services

    http://www.dumpanalysis.org/blog/index.php/2010/12/29/software-tracing-best-practices-part-1/

  • Certification  Individual

    Memory Dump Analysis Software Trace Analysis (forthcoming)  Corporate

    Software Diagnostics Maturity

    © 2012 Memory Dump Analysis Services

    http://www.dumpanalysis.com/memory-dump-analysis-certification-outline http://www.dumpanalysis.com/software-diagnostics-maturity http://www.dumpanalysis.com/software-diagnostics-maturity

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

    © 2012 Memory Dump Analysis Services

    http://www.dumpanalysis.com/memory-dump-analysis-audit-service

  • 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

    http://www.dumpanalysis.com/systemic-software-diagnostics-introduction http://www.dumpanalysis.com/systemic-software-diagnostics-introduction

  • Malware Analysis Malware + Victimware

    Victimware: The Missing Part of the Equation

    © 2012 Memory Dump Analysis Services

    http://www.dumpanalysis.com/victimware-analysis-webinar

  • 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

    http://www.dumpanalysis.org http://www.SoftwareNarratology.com http://www.dumpanalysis.com/index.php?q=ultimate-memory-analysis-reference http://www.dumpanalysis.com/STMDA-materials http://www.dumpanalysis.com/STMDA-materials http://www.dumpanalysis.com/STMDA-materials http://www.dumpanalysis.com/PDSPSI-materials http://www.dumpanalysis.com/PDSPSI-materials http://www.dumpanalysis.com/PDSPSI-materials http://www.dumpanalysis.com/PDSPSI-materials http://www.dumpanalysis.com/CMDA-materials http://www.dumpanalysis.com/CMDA-materials http://www.dumpanalysis.com/FCMDA-materials-Rev2 http://www.dumpanalysis.com/FCMDA-materials-Rev2 http://www.dumpanalysis.com/Introduction-Software-Narratology-materials

  • 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

    Introduction � Prerequisites Why? Goals Diagnostics Software Diagnostics Symptoms Signs Pattern Groupings Problem Solving Problem Solving Diagnostics Process Artifact Checklists Artifact Baselines Diagnosing Current State Pattern Language Pattern Catalog Meta-patterns Pattern Isomorphism P