Theoretical Software Diagnostics
Minimum price
Suggested price

Theoretical Software Diagnostics

Collected Articles, Fourth Edition

About the Book

Contains reprinted articles in full color (including more than 230 figures) from 16 volumes of Memory Dump Analysis Anthology (Diagnomicon) related to pattern-oriented software diagnostics with additional comments showing the historical development of this autonomous and distinctive discipline over the last 18 years. In addition to 15 new articles, the fourth edition includes updated threads of thinking, a list of mathematical concepts, and notes’ references, and was completely remastered.

  • Share this book

  • Categories

    • Computer Science
    • Data Science
    • Resiliency
    • Software
    • Computers and Programming
    • Computer Security
  • Feedback

    Email the Author(s)

About the Author

Dmitry Vostokov
Dmitry Vostokov

Dmitry Vostokov is an internationally recognized expert, speaker, educator, scientist, inventor, and author. He is the founder of pattern-oriented software diagnostics, forensics, and prognostics discipline (Systematic Software Diagnostics), and Software Diagnostics Institute. Vostokov has also authored more than 50 books on software diagnostics, anomaly detection and analysis, software and memory forensics, root cause analysis and problem solving, memory dump analysis, debugging, software trace and log analysis, reverse engineering and malware analysis. He has more than 25 years of experience in software architecture, design, development and maintenance in a variety of industries including leadership, technical and people management roles. Dmitry also founded Syndromatix,, BriteTrace, DiaThings, Logtellect, OpenTask Iterative and Incremental Publishing, Software Diagnostics Technology and Services (former Memory Dump Analysis Services), and Software Prognostics. In his spare time, he presents various topics on Debugging TV and explores Software Narratology, its further development as Narratology of Things and Diagnostics of Things (DoT), Software Pathology, and Quantum Software Diagnostics. His current areas of interest are theoretical software diagnostics and its mathematical and computer science foundations, application of formal logic, artificial intelligence, machine learning and data mining to diagnostics and anomaly detection, software diagnostics engineering and diagnostics-driven development, diagnostics workflow and interaction. Recent interest areas also include cloud native computing, security, automation, functional programming, applications of category theory to software diagnostics, development and big data, and diagnostics of artificial intelligence.

Bundles that include this book

Bought separately
Bundle Price

Table of Contents

Table of Contents 3

Preface to the Fourth Edition 11

Preface to the Third Edition 12

Preface to the Second Edition 13

About the Author 14

Threads of Thinking 15

Volume 1: August 2006 – December 2007 16

Volume 2: January 2008 – September 2008 17

Volume 3: October 2008 – June 2009 18

Volume 4: July 2009 – January 2010 19

Volume 5: February 2010 – October 2010 20

Volume 6: November 2010 – October 2011 21

Volumes 7 – 10: November 2011 – May 2017 22

Volumes 11 – 13: June 2017 – July 2020 23

Volumes 14 – 16 and Beyond: August 2020 – Present 24

Volume 1 25

Multiple Exceptions 25

Four Pillars 28

Five Golden Rules 29

Critical Thinking 30

Troubleshooting as Debugging 31

What is a Software Defect? 33

Four Causes of Crash Dumps 35

What is Memory Dump Analysis? 37

Crashes and Hangs Differentiated 38

Memory Dump - A Mathematical Definition 39

Threads as Braided Strings in Abstract Space 41

Volume 2 45

Debugware Patterns 45

Three Main Ideas of Debugging 46

The Hidden Tomb in Pyramid of Software Change 47

Ceteris Paribus in Comparative Troubleshooting 48

Object-Oriented Debugging and Troubleshooting 49

Component-Based Debugging and Troubleshooting 50

Domain-Driven Debugging and Troubleshooting 51

Causal Models 52

PARTS: Problem Solving Power of Thought 53

Memoretics 54

Memiotics 55

Memory Analysis 56

Volume 3 57

Introduction to Software Trace Analysis Patterns 57

Software Narratology: A Definition 58

Software Trace: A Mathematical Definition 59

Geometrical Debugging 60

Riemann Programming Language 62

The Measure of Debugging and Memory Dump Analysis Complexity 63

I’m RARE 64

T&D Labyrinth 65

Efficient vs. Effective: DATA View 67

A Copernican Revolution in Debugging 68

Is Memory Dump Analysis a Science? 69

Universal Memory Dump: A Definition 70

Quantum Memory Dumps 71

On Subjectivity of Software Defects 72

My Dangerous Idea: Parameterized Science 73

Unique Events and Historical Narratives 74

Chemistry of Virtual Memory 75

Graphical Notation for Memory Dumps 77

Volume 4 81

Succession of Patterns 81

Workaround Patterns 82

Metaphorical Bijectionism: A Method of Inquiry 83

Memory Dumps as Posets 86

MemD Category 88

Operating Closure of Memory 91

Fiber Bundle of Memory Space 93

Cubic Memory Representation 94

Manifold Memory Space 96

Extending Multithreading to Multibraiding (Adjoint Threading) 98

Volume 5 103

Software Behavior Patterns 103

Structural Memory Patterns 104

General Memory Analysis 105

Memory Systems Language 106

Notation for Memory and Trace Analysis 107

Models of Software Behavior 108

Category Theory and Troubleshooting 109

Collective Pointer 110

On Unconscious 113

Psychoanalysis of Software Troubleshooting and Debugging 114

Archaeological Foundations for Memory Analysis 115

Software Chorography and Chorology: A Definition 116

Basic Software PLOTs 118

The Extended Software Trace 120

Presenting a Software Story 121

Two Readings of a Software Trace 122

Volume 6 125

Intelligence Analysis Patterns 125

A.C.P. Root Cause Analysis Methodology 126

Function Activity Theory 127

Close and Deconstructive Readings of a Software Trace 128

Analysis, Architectural, Design, Implementation and Usage Debugging Patterns 129

Generative Debugging 130

Metadefect Template Library 131

Orbifold Memory Space 132

Uses of Memoretics 133

Crossdisciplinary Memoretics as Interdisciplinary Science 134

Coarse vs. Fine Grained DNA of Software Behavior 135

The Way of Philip Marlowe: Abductive Reasoning for Troubleshooting and Debugging 136

The New School of Debugging 137

A Periodic Table of Software Defects 138

User Interface Problem Analysis Patterns 139

Volume 7 141

Software Anti-Narrative 141

Narremes in Software Narratology 142

Narralog - A Software Trace Modeling Language 143

What is a Software Narrative? 144

Software Narrative Planes 145

Software Narratology Square 147

Software Trace Analysis Patterns Domain Hierarchy 148

Generalized Software Narrative and Trace 149

Unified Computer Diagnostics: Incorporating Hardware Narratology 150

Introducing Software Narratology of Things (Software NT) 151

What are Software Trace and Memory Dump Analysis? A One Sentence Definition 152

Software Problem Description Language 153

Software Problem Description Patterns 154

Software Behavior Pattern Prediction 155

Patterns of Software Diagnostics 156

Highly Effective Diagnostics 157

Network Trace Analysis Patterns 158

Pattern-Based Software Diagnostics 160

Software Diagnostics Discipline 161

Architecture of memCPU 162

Phenomenology of Software Diagnostics: A First Sketch 163

Software Diagnostics Report Schemes 164

Software Diagnostics Training: Two Approaches 165

The Structure of Software Problem Solving Organization 166

Software Disruption Patterns 167

Static Code Analysis Patterns 168

Bridging the Great Divide 169

Elementary Software Diagnostics Patterns 170

Zero Fault Software Diagnostics 171

Agile Software Diagnostics 173

ADDR Pattern Catalog 174

Thinking-Based Software Diagnostics 175

Memory Acquisition Pattern Catalog 176

Trace Acquisition Pattern Catalog 177

Patterns of Software Diagnostics Architecture 178

Detecting and Predicting the Unknown 180

Software Diagnostics as Psychology 181

Software Diagnostics as Literary Criticism 182

Rapid Software Diagnostics Process (RSDP) 183

Right First Time Software Diagnosis 184

Software Diagnosis Codes 185

Vulnerability Analysis Patterns (VAP) 186

Analytic Memory Dump - A Mathematical Definition 188

General Abnormal Patterns of Structure and Behavior 189

Malware Analysis Patterns 190

Software Trace Diagrams (STDiagrams) 191

Volume 8 195

A Pattern Language for Performance Analysis 195

The Timeless Way of Diagnostics 196

Pattern-Oriented Debugging Process 197

Malnarratives 200

Higher-Order Pattern Narratives (Analyzing Diagnostic Analysis) 202

Special and General Trace and Log Analysis 206

Projective Debugging 209

Pattern! What Pattern? 216

We did not See Anything 219

Coding and Articoding 221

Adjoint Space 223

Volume 9 227

Diagnostics, Forensics, Prognostics: The Copernican Revolution 227

Pattern Repertoire 229

Pattern-Oriented Software Internals: Pattern Paradigms and Software Internals Pattern Stack 231

Software Diagnostics Canvas 235

Software Traces and Logs as Proteins 237

Patterns-Based Root Cause Analysis Methodology 239

Teaching Complex Diagnostic Scenarios with Artificial Debugger (ArtDbg) and Pseudo-Memory Dumps 242

The Scope of Software Diagnostics 244

Diagnostics of Things (DoT) 246

Riemann Root Cause Analysis Language 247

Problem Solving as Code 250

Dia|gram Graphical Diagnostic Analysis Language 251

Iterative Pattern-Oriented Root Cause Analysis 253

Theoretical Software Diagnostics and Education 255

Volume 10 257

Topological Software Trace and Log Analysis 257

Software Diagnostic Space as a General Graph of Software Narratives 258

Software Diagnostics as Archaeology 263

Pattern-Oriented Diagnostic Analysis Process 264

Principles of Pattern-Oriented Software Data Analysis 265

Abstract Debugging Commands (ADC) Initiative 267

Reducing Analysis Pattern Complexity via Elementary Analysis Patterns 268

Categorical Foundations of Software Diagnostics 271

Existential Prognostics: Periodic Table of Diagnostic Patterns 273

Software Codiagnostics 275

Volume 11 277

The Most Important Skill in Software Diagnostics 277

Diagnostic Operads 279

Mathematical Concepts in Software Diagnostics and Software Data Analysis 282

Software Diagnostics Engineering 285

Narrachain 287

Diagnostics-Driven Development 289

Integral Diamathics – Tracing the Road to Root Cause 290

Meso-problem Solving using Meso-patterns 292

Lego Log Analysis 295

Artificial Chemistry Approach to Software Trace and Log Analysis 299

Volume 12 305

Introducing Software Pathology 305

Log’s Loxels and Trace Message’s Mexels Graphical Representation of Software Traces and Logs 307

Analysis Pattern Duality 313

Application of Trace and Log Analysis Patterns to Image Analysis: Introducing Space-like Narratology 314

Machine Learning Square and Software Diagnostics Institute Roadmap 316

Volume 13 319

Debugging and Category Theory 319

Introducing Diags: Diagnostic Analysis Gestures and Logues 331

Volume 14 333

Introducing Methodology and System of Cloud Analysis Patterns (CAPS) 333

The Fractal Nature of Software Traces and Logs 342

General Architecture of Analysis Pattern Networks 343

Software Narratives under Constraints 348

Literary Theory Terms 349

Volume 15 351

The Dream of Quantum Software Diagnostics 351

Systematic Software Diagnostics 352

REPL Streaming (REPLS) 354

Dia|gram Language and Memory Dump Analysis Patterns 355

Traces and Logs as 2-categories 361

Diagnostics of Artificial Intelligence 363

Proof of Concept Engineering Patterns 364

Volume 16 367

Introducing Lov Language 367

Carnot Cycle Metaphor for Trace and Log Analysis 368

Defect Mechanism Patterns (DMP) 369

Debugged! MZ/PE, Volume 2, Issue 1 371

What is an Adjoint Thread? 371

Unpublished 377

Functionalist Trace Analysis 377

Notes 379

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub