Theoretical Software Diagnostics
Theoretical Software Diagnostics
$20.00
Minimum price
$20.00
Suggested price
Theoretical Software Diagnostics

This book is 100% complete

Completed on 2019-11-18

About the Book

Contains reprinted articles in full color (including 170 figures) from ten volumes of Memory Dump Analysis Anthology related to pattern-oriented software diagnostics with additional comments showing the historical development of this autonomous and distinctive discipline over the last 12 years. Some articles from the forthcoming volume 11 are also included. In addition to 13 new articles, the second edition also includes one relevant article from Debugged! MZ/PE magazine issue and the former Debugging Experts Magazine Online that was referenced in the text of the first edition of this book.

About the Author

Dmitry Vostokov
Dmitry Vostokov

Dmitry Vostokov is an internationally recognized expert, speaker, educator, scientist and author. He is the founder of pattern-oriented software diagnostics, forensics and prognostics discipline 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 Anolog.io, BriteTrace, DiaThings, Logtellect, OpenTask Iterative and Incremental Publishing and 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), and Software Pathology. His current areas of interest are theoretical software diagnostics and its mathematical and computer science foundations, application of artificial intelligence and machine learning to diagnostics and anomaly detection, software diagnostics engineering and diagnostics-driven development, diagnostics workflow and interaction.

Table of Contents

Preface 9

About the Author 11

Threads of Thinking 13

Volume 1: August 2006 – December 2007 14

Volume 2: January 2008 – September 2008 15

Volume 3: October 2008 – June 2009 16

Volume 4: July 2009 – January 2010 17

Volume 5: February 2010 – October 2010 18

Volume 6: November 2010 – October 2011 19

Volumes 7 – 10 and Beyond: November 2011 – Present 20

Volume 1 21

Multiple Exceptions 21

Four Pillars 24

Five Golden Rules 25

Critical Thinking 26

Troubleshooting as Debugging 27

What is a Software Defect? 29

Four Causes of Crash Dumps 31

What is Memory Dump Analysis? 33

Crashes and Hangs Differentiated 34

Memory Dump - A Mathematical Definition 35

Threads as Braided Strings in Abstract Space 37

Volume 2 41

Debugware Patterns 41

Three Main Ideas of Debugging 42

The Hidden Tomb in Pyramid of Software Change 43

Ceteris Paribus in Comparative Troubleshooting 44

Object-Oriented Debugging and Troubleshooting 45

Component-Based Debugging and Troubleshooting 46

Domain-Driven Debugging and Troubleshooting 47

Causal Models 48

PARTS: Problem Solving Power of Thought 49

Memoretics 50

Memiotics 51

Memory Analysis 52

Volume 3 53

Introduction to Software Trace Analysis Patterns 53

Software Narratology: A Definition 54

Software Trace: A Mathematical Definition 55

Geometrical Debugging 56

Riemann Programming Language 58

The Measure of Debugging and Memory Dump Analysis Complexity 59

I’m RARE 60

T&D Labyrinth 61

Efficient vs. Effective: DATA View 63

A Copernican Revolution in Debugging 64

Is Memory Dump Analysis a Science? 65

Universal Memory Dump: A Definition 66

Quantum Memory Dumps 67

On Subjectivity of Software Defects 68

My Dangerous Idea: Parameterized Science 69

Unique Events and Historical Narratives 70

Chemistry of Virtual Memory 71

Graphical Notation for Memory Dumps 73

Volume 4 77

Succession of Patterns 77

Workaround Patterns 78

Metaphorical Bijectionism: A Method of Inquiry 79

Memory Dumps as Posets 82

MemD Category 84

Operating Closure of Memory 87

Fiber Bundle of Memory Space 89

Cubic Memory Representation 90

Manifold Memory Space 92

Extending Multithreading to Multibraiding (Adjoint Threading) 94

Volume 5 99

Software Behavior Patterns 99

Structural Memory Patterns 100

General Memory Analysis 101

Memory Systems Language 102

Notation for Memory and Trace Analysis 103

Models of Software Behavior 104

Category Theory and Troubleshooting 105

Collective Pointer 106

On Unconscious 109

Psychoanalysis of Software Troubleshooting and Debugging 110

Archaeological Foundations for Memory Analysis 111

Software Chorography and Chorology: A Definition 112

Basic Software PLOTs 114

The Extended Software Trace 116

Presenting a Software Story 117

Two Readings of a Software Trace 118

Volume 6 121

Intelligence Analysis Patterns 121

A.C.P. Root Cause Analysis Methodology 122

Function Activity Theory 123

Close and Deconstructive Readings of a Software Trace 124

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

Generative Debugging 126

Metadefect Template Library 127

Orbifold Memory Space 128

Uses of Memoretics 129

Crossdisciplinary Memoretics as Interdisciplinary Science 130

Coarse vs. Fine Grained DNA of Software Behavior 131

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

The New School of Debugging 133

A Periodic Table of Software Defects 134

User Interface Problem Analysis Patterns 135

Volume 7 137

Software Anti-Narrative 137

Narremes in Software Narratology 138

Narralog - A Software Trace Modeling Language 139

What is a Software Narrative? 140

Software Narrative Planes 141

Software Narratology Square 143

Software Trace Analysis Patterns Domain Hierarchy 144

Generalized Software Narrative and Trace 145

Unified Computer Diagnostics: Incorporating Hardware Narratology 146

Introducing Software Narratology of Things (Software NT) 147

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

Software Problem Description Language 149

Software Problem Description Patterns 150

Software Behavior Pattern Prediction 151

Patterns of Software Diagnostics 152

Highly Effective Diagnostics 153

Network Trace Analysis Patterns 154

Pattern-Based Software Diagnostics 156

Software Diagnostics Discipline 157

Architecture of memCPU 158

Phenomenology of Software Diagnostics: A First Sketch 159

Software Diagnostics Report Schemes 160

Software Diagnostics Training: Two Approaches 161

The Structure of Software Problem Solving Organization 162

Software Disruption Patterns 163

Static Code Analysis Patterns 164

Bridging the Great Divide 165

Elementary Software Diagnostics Patterns 166

Zero Fault Software Diagnostics 167

Agile Software Diagnostics 169

ADDR Pattern Catalog 170

Thinking-Based Software Diagnostics 171

Memory Acquisition Pattern Catalog 172

Trace Acquisition Pattern Catalog 173

Patterns of Software Diagnostics Architecture 174

Detecting and Predicting the Unknown 176

Software Diagnostics as Psychology 177

Software Diagnostics as Literary Criticism 178

Rapid Software Diagnostics Process (RSDP) 179

Right First Time Software Diagnosis 180

Software Diagnosis Codes 181

Vulnerability Analysis Patterns (VAP) 182

Analytic Memory Dump - A Mathematical Definition 184

General Abnormal Patterns of Structure and Behavior 185

Malware Analysis Patterns 186

Software Trace Diagrams (STDiagrams) 187

Volume 8 191

A Pattern Language for Performance Analysis 191

The Timeless Way of Diagnostics 192

Pattern-Oriented Debugging Process 193

Malnarratives 196

Higher-Order Pattern Narratives (Analyzing Diagnostic Analysis) 198

Special and General Trace and Log Analysis 202

Projective Debugging 205

Pattern! What Pattern? 212

We did not See Anything 215

Coding and Articoding 217

Adjoint Space 219

Volume 9 223

Diagnostics, Forensics, Prognostics: The Copernican Revolution 223

Pattern Repertoire 225

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

Software Diagnostics Canvas 231

Software Traces and Logs as Proteins 233

Patterns-Based Root Cause Analysis Methodology 235

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

The Scope of Software Diagnostics 240

Diagnostics of Things (DoT) 242

Riemann Root Cause Analysis Language 243

Problem Solving as Code 246

Dia|gram Graphical Diagnostic Analysis Language 247

Iterative Pattern-Oriented Root Cause Analysis 249

Theoretical Software Diagnostics and Education 251

Volume 10 253

Topological Software Trace and Log Analysis 253

Software Diagnostic Space as a General Graph of Software Narratives 254

Software Diagnostics as Archaeology 259

Pattern-Oriented Diagnostic Analysis Process 260

Principles of Pattern-Oriented Software Data Analysis 261

Abstract Debugging Commands (ADC) Initiative 263

Reducing Analysis Pattern Complexity via Elementary Analysis Patterns 264

Categorical Foundations of Software Diagnostics 267

Existential Prognostics: Periodic Table of Diagnostic Patterns 269

Software Codiagnostics 271

Volume 11 273

The Most Important Skill in Software Diagnostics 273

Diagnostic Operads 275

Mathematical Concepts in Software Diagnostics and Software Data Analysis 278

Software Diagnostics Engineering 280

Narrachain 282

Diagnostics-Driven Development 284

Integral Diamathics – Tracing the Road to Root Cause 285

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

What is an Adjoint Thread? 287

Unpublished 293

Functionalist Trace Analysis 293

Notes 295

Authors have earned$8,253,093writing, publishing and selling on Leanpub,
earning 80% royalties while saving up to 25 million pounds of CO2 and up to 46,000 trees.

Learn more about writing on Leanpub

The Leanpub 45-day 100% Happiness Guarantee

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

See full terms

Free Updates. Free App. 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), EPUB (for phones and tablets), MOBI (for Kindle) and in the free Leanpub App (for Mac, Windows, iOS and Android). 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. It really is that easy.

Learn more about writing on Leanpub