philosophy of software diagnostics, part 1

34
Philosophy of Software Diagnostics Dmitry Vostokov Software Diagnostics Services Version 1.0

Upload: dmitry-vostokov

Post on 14-Jan-2017

91 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Philosophy of Software Diagnostics, Part 1

Philosophy of Software Diagnostics

Dmitry Vostokov Software Diagnostics Services

Version 1.0

Page 2: Philosophy of Software Diagnostics, Part 1

If want to be the best software diagnostician you need to be a philosopher.

After Galen’s thoughts on medicine

© 2013 Software Diagnostics Services

Page 3: Philosophy of Software Diagnostics, Part 1

Prerequisites Interest in software diagnostics, troubleshooting and debugging Philosophical attitude and interest in meta-questions

© 2013 Software Diagnostics Services

Page 4: Philosophy of Software Diagnostics, Part 1

Goal

Synthesize philosophy of software diagnostics from its best practices

© 2013 Software Diagnostics Services

Page 5: Philosophy of Software Diagnostics, Part 1

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-oriented analysis methodologies.

© 2013 Software Diagnostics Services

Page 6: Philosophy of Software Diagnostics, Part 1

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

Page 7: Philosophy of Software Diagnostics, Part 1

The First Question

What is a Problem?

© 2013 Software Diagnostics Services

Page 8: Philosophy of Software Diagnostics, Part 1

Problem Difficulty – problem 1641 business 1843 (colloq.)

core c1460-1652 prob 1934 (colloq.) hang-up 1959 (slang) problem 1874 sub-problem 1907 pseudo-problem 1911

Mathematics – prob 1864 Materials of topic of debate / discussion –

problem 1529 – 1646 (question, thesis, argument, issue, consultation, debating point)

Enquiry, questioning – problem 1594 good question 1918

© 2013 Software Diagnostics Services

Page 9: Philosophy of Software Diagnostics, Part 1

Prob-lem(ma) A prob-lemma is a pair: An issue ~Understanding of an issue

Проблема (Problema, in Russian)

© 2013 Software Diagnostics Services

Page 10: Philosophy of Software Diagnostics, Part 1

~Understanding How do we understand a problem?

© 2013 Software Diagnostics Services

Page 11: Philosophy of Software Diagnostics, Part 1

Projection Understanding – projection to patterns

© 2013 Software Diagnostics Services

Page 12: Philosophy of Software Diagnostics, Part 1

Patterns

Pattern-in-artefact

© 2013 Software Diagnostics Services

Page 13: Philosophy of Software Diagnostics, Part 1

Da-sign

A pattern in the artefact for an issue that has a concern for us

Understanding of an issue and a pattern

© 2013 Software Diagnostics Services

Page 14: Philosophy of Software Diagnostics, Part 1

CARE Da-sign as a meaning-pattern

Underlying meaning-structure for da-

signs

© 2013 Software Diagnostics Services

Page 15: Philosophy of Software Diagnostics, Part 1

Hermeneutics

© 2013 Software Diagnostics Services

Software User Interaction

Software Artefacts

Software Diagnostician

Understanding

Understanding

Page 16: Philosophy of Software Diagnostics, Part 1

Remote Interaction

© 2013 Software Diagnostics Services

Software User

Software Diagnostician

Support Support

Software Diagnostician

Page 17: Philosophy of Software Diagnostics, Part 1

Understanding

© 2013 Software Diagnostics Services

Software User

Software

Diagnostician

HSI

Page 18: Philosophy of Software Diagnostics, Part 1

Understanding Patterns

© 2013 Software Diagnostics Services

Existing patterns

Excavating new patterns

Better understanding of software

Page 19: Philosophy of Software Diagnostics, Part 1

Sources of Interpretation

© 2013 Software Diagnostics Services

Problem descriptions

Human-software interaction Interaction itself

Artefacts

Page 20: Philosophy of Software Diagnostics, Part 1

Phenomenology

© 2013 Software Diagnostics Services

Various phenomena (patterns) in: HCI Life-world Computer-world Artefacts

Page 21: Philosophy of Software Diagnostics, Part 1

Why Phenomenology?

© 2013 Software Diagnostics Services

Involves human side About meaning and understanding Includes feeling and mood The best of Husserl and Heidegger

Page 22: Philosophy of Software Diagnostics, Part 1

Patterns as Phenomena

© 2013 Software Diagnostics Services

Meaning-structures in meaningful world of experience

Common meaning-structure

Leaving Human-Software dichotomy outside: patterns of phenomena

Page 23: Philosophy of Software Diagnostics, Part 1

Software Phenomenology

© 2013 Software Diagnostics Services

Only experience Bracketing implementation [code] “Free fantasy variation” (Husserl) Free fantasy investigation (software narratology) Pattern discourse Common meaning-structure in

Computer-world

Page 24: Philosophy of Software Diagnostics, Part 1

Hermeneutics Meeting and dialog narratives

Software problem narratives

Software execution narratives

Software trace and log patterns

© 2013 Software Diagnostics Services

Page 25: Philosophy of Software Diagnostics, Part 1

Phenomenological Hermeneutics

Meaning-structure-patterns Software problem narratives

Software problem description patterns

© 2013 Software Diagnostics Services

Page 26: Philosophy of Software Diagnostics, Part 1

Explanation

© 2013 Software Diagnostics Services

Recommendations

Possible solutions

Problem Prob-lemmas Da-signs

Page 27: Philosophy of Software Diagnostics, Part 1

Human-Assisted Software Diagnostics

© 2013 Software Diagnostics Services

Page 28: Philosophy of Software Diagnostics, Part 1

Computer Assistance (Logic, Language, Software) Medicine (Logic, Language, Software) Software

© 2013 Software Diagnostics Services

Page 29: Philosophy of Software Diagnostics, Part 1

Analytical Philosophy

Software as a Logico-Linguistic Machine

© 2013 Software Diagnostics Services

Page 30: Philosophy of Software Diagnostics, Part 1

Abductive Diagnostics 1. Fact: B 2. “If A then B” explains B 3. Root cause A is probable

© 2013 Software Diagnostics Services

Page 31: Philosophy of Software Diagnostics, Part 1

Further Reading Philosophy

“Martin Heidegger: The Possibility of A Russian Philosophy” by A. Dugin (in Russian language) “Introduction to Metaphysics” by Martin Heidegger “Being and Time” by Martin Heidegger (blue book) “Heidegger: A Guide for the Perplexed” by David Cerbone “The Hermeneutics of Medicine and the Phenomenology of Health: Steps Towards

a Philosophy of Medical Practice” by Fredrik Svenaeus

Pattern-Oriented Software Diagnostics

Software Diagnostics Institute Memory Dump Analysis Anthology: Volumes 1, 2, 3, 4, 5, 6, 7, 8, … Volume 7 is in preparation (May-June, 2013) Introduction to Pattern-Driven Software Diagnostics Introduction to Systemic Software Diagnostics Introduction to Pattern-Based Software Diagnostics Introduction to Software Narratology

© 2013 Software Diagnostics Services

Page 33: Philosophy of Software Diagnostics, Part 1

Q&A

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

© 2013 Software Diagnostics Services

Page 34: Philosophy of Software Diagnostics, Part 1

Thank you for attendance!

© 2013 Software Diagnostics Services