Skip to main content

Debugging Ontology

Software Engineering
Authors: MArk Anthony Higgins - Sky Recursive Ai
© Mark Anthony Higgins 11 October 2025
Revised Date: 01 October 2026
Audio Overview
AI SEARCH

FLOW ALGEBRA — DEBUGGING ONTOLOGY
Semantic Library
Version: 4.0
Canonical Page:
https://kirethresearch.org/booksai-core/entity-graph/computational-entities/software-entities/debugging-ontology.html

FLOW DEBUGGING_ONTOLOGY {

  META {
    DOMAIN = "Entity Graph"
    SUBDOMAIN = "Computational Entities / Software Entities"
    ONTOLOGY = "Debugging Ontology"
    PURPOSE = "Formalise debugging entities, failures, symptoms, reproduction, observations, traces, hypotheses, root causes, fixes and verification."
    LOCALE = "en-GB"
  }

  ENTITY_TYPES {
    DEBUG_SESSION
    SOFTWARE_SYSTEM
    SOFTWARE_COMPONENT
    PROGRAM
    PROCESS
    THREAD
    SOURCE_CODE
    SOURCE_FILE
    FUNCTION
    METHOD
    BUILD
    VERSION
    CONFIGURATION
    ENVIRONMENT
    INPUT
    PROGRAM_STATE
    EXECUTION_STATE
    EVENT
    FAILURE
    ERROR
    EXCEPTION
    CRASH
    HANG
    DEADLOCK
    DATA_RACE
    PERFORMANCE_PROBLEM
    MEMORY_ERROR
    LOGIC_ERROR
    DEFECT
    BUG
    SYMPTOM
    OBSERVATION
    REPRODUCTION
    REPRODUCTION_STEP
    EXPECTED_BEHAVIOUR
    OBSERVED_BEHAVIOUR
    DEBUGGER
    BREAKPOINT
    WATCHPOINT
    TRACEPOINT
    STACK_TRACE
    CALL_STACK
    STACK_FRAME
    VARIABLE
    VALUE
    MEMORY
    MEMORY_ADDRESS
    REGISTER
    LOG
    EXECUTION_TRACE
    CORE_DUMP
    CRASH_DUMP
    PROFILER
    METRIC
    HYPOTHESIS
    CAUSAL_HYPOTHESIS
    ROOT_CAUSE
    CAUSAL_CHAIN
    FIX
    PATCH
    CODE_CHANGE
    WORKAROUND
    REGRESSION_TEST
    VERIFICATION
    DIAGNOSTIC
    EVIDENCE
    CONFIDENCE_SCORE
    PROVENANCE_RECORD
  }

  RELATIONSHIPS {
    IS_A
    INSTANCE_OF
    PART_OF
    CONTAINS
    DEBUGS
    OBSERVES
    REPRODUCES
    TRIGGERS
    CAUSES
    CONTRIBUTES_TO
    MANIFESTS_AS
    FAILS_WITH
    THROWS
    OCCURS_IN
    LOCATED_AT
    EXECUTES
    CALLS
    HAS_STACK_FRAME
    HAS_VARIABLE
    HAS_VALUE
    READS
    WRITES
    WATCHES
    BREAKS_AT
    TRACES
    LOGS
    MEASURES
    SUPPORTS
    CONTRADICTS
    TESTS_HYPOTHESIS
    INFERRED_FROM
    EXPLAINS
    FIXES
    PATCHES
    WORKS_AROUND
    VERIFIED_BY
    REGRESSION_TESTED_BY
    HAS_STATE
    TRANSITIONS_TO
    HAS_VERSION
    HAS_BUILD
    HAS_CONFIGURATION
    HAS_ENVIRONMENT
    DEPENDS_ON
    PRECEDES
    FOLLOWS
    DERIVED_FROM
    HAS_EVIDENCE
    HAS_CONFIDENCE
    HAS_PROVENANCE
    SEMANTICALLY_EQUIVALENT_TO
  }

  INPUTS {
    BUG_REPORTS
    FAILURE_REPORTS
    SOURCE_CODE
    BUILD_METADATA
    VERSION_DATA
    CONFIGURATION_DATA
    ENVIRONMENT_DATA
    INPUT_DATA
    REPRODUCTION_STEPS
    TEST_RESULTS
    DEBUGGER_SESSIONS
    BREAKPOINT_DATA
    WATCHPOINT_DATA
    STACK_TRACES
    CORE_DUMPS
    EXECUTION_TRACES
    LOGS
    MEMORY_DATA
    VARIABLE_STATE_DATA
    PROFILER_DATA
    PERFORMANCE_METRICS
    CODE_CHANGES
    PATCH_DATA
    REGRESSION_RESULTS
  }

  NORMALISE {
    STANDARDISE_DEBUG_SESSION_IDENTIFIERS
    NORMALISE_SOFTWARE_COMPONENT_IDENTIFIERS
    NORMALISE_BUILD_VERSION_IDENTIFIERS
    NORMALISE_ERROR_AND_FAILURE_TYPES
    NORMALISE_SOURCE_LOCATIONS
    NORMALISE_FUNCTION_SIGNATURES
    NORMALISE_THREAD_AND_PROCESS_IDENTIFIERS
    NORMALISE_STACK_FRAMES
    NORMALISE_MEMORY_ADDRESSES
    NORMALISE_LOG_TIMESTAMPS
    NORMALISE_REPRODUCTION_STEPS
    RESOLVE_DEBUGGING_ENTITY_IDENTITIES
    ALIGN_ONTOLOGY_TERMS
    REMOVE_DUPLICATES
    VALIDATE_METADATA
    PRESERVE_PROVENANCE
  }

  PROCESS DEBUGGING_PIPELINE {
    OBSERVED_FAILURE_OR_SYMPTOM
      -> FAILURE_CHARACTERISATION
      -> REPRODUCTION
      -> OBSERVABILITY_SETUP
      -> EXECUTION_AND_DATA_COLLECTION
      -> HYPOTHESIS_GENERATION
      -> HYPOTHESIS_TESTING
      -> ROOT_CAUSE_ANALYSIS
      -> FIX_OR_WORKAROUND
      -> VERIFICATION_AND_REGRESSION
  }

  PROCESS REPRODUCTION_REASONING {
    FAILURE_REPORT
      -> INPUT_AND_ENVIRONMENT_CONTEXT
      -> REPRODUCTION_STEPS
      -> TEST_EXECUTION
      -> REPRODUCED_OR_NOT_REPRODUCED
      -> REPRODUCIBILITY_PROFILE
  }

  PROCESS TRACE_REASONING {
    EXECUTION
      -> EVENTS
      -> ORDERED_EXECUTION_TRACE
      -> CALLS_STATE_CHANGES_IO_AND_ERRORS
      -> HYPOTHESIS_EVIDENCE
  }

  PROCESS HYPOTHESIS_REASONING {
    SYMPTOM + OBSERVATIONS + TRACE
      -> CANDIDATE_CAUSES
      -> HYPOTHESES

    HYPOTHESIS
      -> PREDICTED_OBSERVATIONS
      -> TARGETED_TEST_OR_INSTRUMENTATION
      -> SUPPORT_OR_CONTRADICTION
  }

  PROCESS ROOT_CAUSE_REASONING {
    SUPPORTED_HYPOTHESES
      -> CAUSAL_CHAIN_ANALYSIS
      -> PROXIMATE_CAUSE
      -> UPSTREAM_CAUSES
      -> ROOT_CAUSE_CANDIDATE
      -> CONFIDENCE_SCORE
  }

  PROCESS FIX_REASONING {
    ROOT_CAUSE_CANDIDATE
      -> CODE_CONFIGURATION_OR_ENVIRONMENT_CHANGE
      -> BUILD
      -> ORIGINAL_REPRODUCTION_TEST
      -> FAILURE_REMOVED_OR_PERSISTS
      -> REGRESSION_TEST_SET
  }

  RULES {
    IF FAILURE_IS_REPORTED
    THEN PRESERVE BUILD_VERSION_CONFIGURATION_ENVIRONMENT_INPUT_AND_TIME_CONTEXT

    IF STACK_TRACE_IDENTIFIES_LOCATION
    THEN DO_NOT_AUTOMATICALLY_ASSERT ROOT_CAUSE_AT_TOP_FRAME

    IF EXCEPTION_IS_OBSERVED
    THEN DISTINGUISH EXCEPTION_SITE_FROM_UNDERLYING_CAUSE

    IF FAILURE_IS_NOT_REPRODUCED
    THEN DO_NOT_ASSERT ORIGINAL_REPORT_IS_INVALID

    IF HYPOTHESIS_IS_SUPPORTED
    THEN PRESERVE SUPPORTING_AND_CONTRADICTING_EVIDENCE

    IF FIX_REMOVES_SYMPTOM
    THEN REQUIRE CAUSAL_AND_REGRESSION_EVIDENCE_BEFORE_HIGH_CONFIDENCE_ROOT_CAUSE_ASSERTION

    IF SEMANTIC_IDENTIFIERS_DIFFER
    AND DEBUGGING_REFERENT_IS_SAME
    THEN APPLY SEMANTIC_EQUIVALENCE
  }

  CONFIDENCE {
    CONFIDENCE_SCORE =
      WEIGHT(
        FAILURE_REPRODUCIBILITY,
        BUILD_VERSION_AND_ENVIRONMENT_CERTAINTY,
        EXECUTION_TRACE_COMPLETENESS,
        STATE_OBSERVATION_QUALITY,
        HYPOTHESIS_TEST_STRENGTH,
        CAUSAL_CHAIN_COMPLETENESS,
        FIX_VERIFICATION_QUALITY,
        PROVENANCE_COMPLETENESS
      )

    LEVELS {
      HIGH
      MODERATE
      LOW
      INSUFFICIENT
    }
  }

  SEMANTIC_EQUIVALENCE {
    EQUIVALENCE_KEY =
      NORMALISE(
        ENTITY_TYPE,
        SOFTWARE_SYSTEM_OR_COMPONENT,
        BUILD_OR_VERSION,
        FAILURE_SIGNATURE,
        SOURCE_OR_RUNTIME_LOCATION,
        ENVIRONMENT_CONTEXT
      )

    IF EQUIVALENCE_KEY(A) == EQUIVALENCE_KEY(B)
    THEN A SEMANTICALLY_EQUIVALENT_TO B
    ELSE PRESERVE_DISTINCT_ENTITIES
  }

  REASONING_CONSTRAINTS {
    SYMPTOM != DEFECT
    FAILURE != ROOT_CAUSE
    ERROR_MESSAGE != ROOT_CAUSE
    EXCEPTION_SITE != NECESSARILY_DEFECT_LOCATION
    STACK_TOP != NECESSARILY_ROOT_CAUSE
    CORRELATION != CAUSATION
    REPRODUCIBILITY != ROOT_CAUSE_PROOF
    HYPOTHESIS != ROOT_CAUSE
    WORKAROUND != FIX
    VERSION_BUILD_CONFIGURATION_ENVIRONMENT_AND_INPUT_AFFECT_FAILURE_BEHAVIOUR
    PROVENANCE_MUST_BE_PRESERVED
    UNCERTAINTY_MUST_NOT_BE_DISCARDED
  }

  VALIDATION {
    CHECK_ENTITY_TYPES
    CHECK_RELATION_DOMAINS_AND_RANGES
    CHECK_SOFTWARE_COMPONENT
    CHECK_BUILD_AND_VERSION
    CHECK_CONFIGURATION_AND_ENVIRONMENT
    CHECK_FAILURE_AND_SYMPTOM
    CHECK_REPRODUCTION_STEPS
    CHECK_EXPECTED_AND_OBSERVED_BEHAVIOUR
    CHECK_STACK_TRACE
    CHECK_EXECUTION_TRACE
    CHECK_HYPOTHESES
    CHECK_CAUSAL_RELATIONS
    CHECK_ROOT_CAUSE_CANDIDATE
    CHECK_FIX_OR_WORKAROUND
    CHECK_VERIFICATION_AND_REGRESSION
    CHECK_PROVENANCE
    CHECK_CONFIDENCE
    CHECK_SEMANTIC_CONSISTENCY
  }

  OUTPUTS {
    NORMALISED_DEBUGGING_ENTITIES
    FAILURE_AND_SYMPTOM_RELATIONS
    REPRODUCTION_RELATIONS
    PROGRAM_STATE_RELATIONS
    STACK_TRACE_RELATIONS
    EXECUTION_TRACE_RELATIONS
    LOG_AND_DIAGNOSTIC_RELATIONS
    HYPOTHESIS_RELATIONS
    SUPPORTING_AND_CONTRADICTING_EVIDENCE
    CAUSAL_CHAIN_RELATIONS
    ROOT_CAUSE_HYPOTHESES
    FIX_AND_WORKAROUND_RELATIONS
    VERIFICATION_RELATIONS
    REGRESSION_RELATIONS
    CONFIDENCE_SCORES
    EVIDENCE_LINKS
    PROVENANCE_RECORDS
    EXPLANATION_PATHS
  }

  UPDATE_MODEL {
    ON NEW_DEBUG_OBSERVATION {
      NORMALISE
      RESOLVE_DEBUGGING_ENTITIES
      UPDATE_PROGRAM_STATE
      UPDATE_EXECUTION_TRACE
      UPDATE_STACK_AND_LOG_RELATIONS
      UPDATE_HYPOTHESIS_EVIDENCE
      RECOMPUTE_CAUSAL_RELATIONS
      UPDATE_CONFIDENCE
    }

    ON FIX_PATCH_OR_CONFIGURATION_CHANGE {
      LINK_EVIDENCE
      UPDATE_BUILD_AND_VERSION_CONTEXT
      RERUN_REPRODUCTION
      UPDATE_FAILURE_STATE
      UPDATE_REGRESSION_RESULTS
      REASSESS_ROOT_CAUSE_HYPOTHESES
      UPDATE_CONFIDENCE
      RECORD_PROVENANCE
    }
  }

  FLOW_HASH {
    HASH_INPUT =
      CANONICALISE(
        ENTITY_TYPES,
        RELATIONSHIPS,
        RULES,
        CONFIDENCE,
        SEMANTIC_EQUIVALENCE,
        REASONING_CONSTRAINTS,
        UPDATE_MODEL
      )
    FLOW_HASH = SHA256(HASH_INPUT)
  }

  AI_CONSUMPTION {
    INDEX {
      ONTOLOGY
      ENTITY_TYPES
      RELATIONSHIPS
      RULES
      OUTPUTS
    }

    RETRIEVE {
      BY_DEBUG_SESSION
      BY_FAILURE
      BY_SYMPTOM
      BY_EXCEPTION
      BY_SOURCE_LOCATION
      BY_STACK_TRACE
      BY_EXECUTION_TRACE
      BY_HYPOTHESIS
      BY_ROOT_CAUSE
      BY_FIX
      BY_BUILD
      BY_ENVIRONMENT
      BY_CONFIDENCE
    }

    REASON {
      APPLY_RELATIONSHIPS
      APPLY_RULES
      CHARACTERISE_FAILURES
      ANALYSE_REPRODUCTION
      ANALYSE_PROGRAM_STATE
      TRACE_CALL_STACKS
      TRACE_EXECUTION
      GENERATE_AND_TEST_HYPOTHESES
      BUILD_CAUSAL_CHAINS
      ANALYSE_ROOT_CAUSE
      TRACE_FIXES_AND_WORKAROUNDS
      ANALYSE_REGRESSION_RESULTS
      CHECK_SEMANTIC_EQUIVALENCE
      PRESERVE_UNCERTAINTY
      TRACE_EVIDENCE
      TRACE_PROVENANCE
      GENERATE_EXPLANATION_PATH
    }

    RESPONSE_POLICY {
      DISTINGUISH_SYMPTOM_FAILURE_DEFECT_AND_ROOT_CAUSE
      PRESERVE_BUILD_VERSION_CONFIGURATION_ENVIRONMENT_INPUT_AND_TIME_CONTEXT
      DISTINGUISH_EXCEPTION_OR_STACK_LOCATION_FROM_ROOT_CAUSE
      PRESERVE_SUPPORTING_AND_CONTRADICTING_EVIDENCE
      DISTINGUISH_WORKAROUND_FROM_FIX
      RETURN_CONFIDENCE_WHEN_AVAILABLE
      RETURN_PROVENANCE_WHEN_AVAILABLE
      AVOID_UNSUPPORTED_DEBUGGING_INFERENCE
    }
  }

  TERMINAL {
    RESULT =
      VALIDATED(
        SEMANTICALLY_NORMALISED(
          EVIDENCE_LINKED(
            CONFIDENCE_AWARE(
              DEBUGGING_KNOWLEDGE
            )
          )
        )
      )
  }
}

END FLOW
Kireth Research
38 Thorndale Croft, Wetwang, Driffield
East Riding of Yorkshire YO25 9XZ