Kinds of Being (Palmer) and Bugs in Software (Regehr) — a proposal

Jun 04 2011

levels of Errors and kinds of Being Embedded in Academia Blog by John Regehr

“Software Bugs and Scientific Progress

2011 03 29

When a bug is found in a piece of software, the root cause is often a bug in someone’s thoughts. One way to better understand a bug is to look at how deep the underlying thought error was. In other words: How many assumptions must be revisited as a result of the bug?

[Facet schema — indeterminacies — Level -2 — Quantum Computing superposition of binary states.]

[Monad schema — eventities — Level -1 — bit does not work within memory, memory error due to faulty bit in RAM or on Disk.]

[Pattern schema — beings Level 0 — Cosmic ray produces a bit flip changing the pattern of bits in mid computation, non-deterministically.]

[Form schema — PURE BEING] Level 1 — Syntax error, such as using the wrong operator or putting a function’s arguments in the wrong order. These are totally unsurprising. Error is seen by code checker or syntax checker, or by random notice of something odd about the way the code looks. (BS CS)

[System schema – PROCESS BEING] Level 2 — Implementation error, such as wrongly assuming a pointer is non-null. These require developers to revisit whatever implementation-level assumption was made that lead to an invariant violation. Implementation errors can also occur at the level of algorithm design; textbooks can contain level 2 errors. Incorrect or sloppy theorems may have to be revised in response to level 2 errors. [Error is seen in the process of execution.] (MS)

[Meta-system schema / HYPER BEING] Level 3 — Design error: the system is structured in such a way that it cannot meet its specification. A web server that runs untrusted code in its address space contains a level 3 bug. [See my dissertation EMERGENT DESIGN how design in the third meta-level of the sign. Hyper  Being is the level of Design. Software is the only cultural artificat to embody Hyper Being directly. it is what Derrida calls DifferAnce, Heidegger calls it Being Crossed Out, Merleau-Ponty calls it Hyper-dialectic between Being and Nothingness, Plato called it the third kind of Being in the Timaeus.( Cf J.Sallias)] (PHD)

[Domain schema / WILD BEING] Level 4 — Specification error: the software is solving the wrong problem. Assumptions about the purpose of the system must be revisited. [Wild Being is a divergent path caused by chaos.]

[World schema / ULTRA BEING] Level 5 — Framework error: the intellectual scaffolding upon which the software was based contains an error or omission. My favorite example comes from the early days of the development of optimizing compilers when people first confronted difficult questions about whether a particular optimization was legal or not. An entire sub-area of computer science had to be created to answer these questions. Something analogous is happening right now where we lack a framework for creating reliable and secure large-scale, software-intensive systems. [Ultra Being is a singularity beyond what is thinkable, in the current paradigm or episteme.]

[Kosmos schema / Beyond Being, i.e. Existence ] Level 6 — Universe error: a previously-unknown physical law prevents the software from working. If good computers had existed in the 19th century, the first person who tried to implement Maxwell’s demon and the first person who tried to implement a universal discriminator for halting vs. non-halting programs would have encountered errors at level 6. Future level 6 errors may result from efforts to build artificial intelligences. [I have this theory that artificial intelligence techniques are opaque while our own intelligence we find transparent, even if we don’t know how the brain produces that intelligence. But I place AI at the WIld Being level.] (Einstein and Turing)

Something interesting about levels 5 and 6 is that they look more like progress than like errors. This is no coincidence: scientific progress occurs when bugs in our collective thinking are fixed. Thus, we could easily construct a scale for scientific advances that mirrors the scale for software bugs. Einstein and Turing operated at level 6 at least a few times in their lives; many other great scientists work at level 5. A typical MS thesis is at level 2 and a dissertation should be no lower than level 3.

Posted by regehr on Tuesday, March 29, 2011, at 11:33 am. Follow any responses to this post with its comments RSS feed. Both comments and trackbacks are currently closed.”

Comments in orange by Kent Palmer; Good examples of someone thinking at the various meta-levels of Being are fairly rare. Here we reference both Schematic Levels and Kinds of Being. However, in the Design Field these two form a Cartesian cross. See

No responses yet

Comments are closed at this time.

Shelfari: Book reviews on your book blog