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
Download Code
Copy to Clipboard