Glossary

Plain-language definitions for the terms that come up when you audit a legacy codebase and plan the move off it.

Legacy Codebase Audit
A
B
  • Branch by Abstraction

    A technique for replacing a component behind a shared abstraction while old and new implementations coexist. It allows a large legacy change to be delivered through small steps on the main development line.

    Read Branch by Abstraction
C
  • Characterization Test

    An automated test that records what existing software currently does. It gives legacy refactoring a behavioural baseline without assuming that every observed result is correct or desirable.

    Read Characterization Test
  • Code Coupling

    The degree to which parts of a software system depend on each other's implementation or behaviour. Strong coupling can make a local change spread across a legacy codebase.

    Read Code Coupling
  • Code Hotspot

    A part of a codebase that changes frequently and carries significant complexity or defect risk. Hotspot analysis helps an audit focus attention where maintenance pressure and difficult code overlap.

    Read Code Hotspot
  • Cyclomatic Complexity

    A metric based on the independent paths through a unit of code. In a legacy audit, it helps locate logic that may be difficult to understand, test, and change safely.

    Read Cyclomatic Complexity
D
  • Dependency Graph

    A map of the relationships between modules, services, libraries, and data stores in a software system. It helps a legacy codebase audit reveal what a proposed change can affect.

    Read Dependency Graph
R
  • Refactoring

    A disciplined change to the internal structure of existing code without changing its observable behaviour. In a legacy codebase, refactoring makes selected areas easier to understand, test, and modify.

    Read Refactoring
S
  • Strangler Fig Pattern

    An incremental migration pattern that routes selected capabilities from a legacy system to new components until the old implementation can be retired. It avoids replacing the whole system in one release.

    Read Strangler Fig Pattern
T
  • Technical Debt

    The accumulated cost of past shortcuts in a codebase. In a legacy system it is the single biggest thing an audit has to measure before you refactor.

    Read Technical Debt
  • Test Coverage

    Evidence about which parts of a legacy codebase execute during automated tests. It helps a migration team locate protected behaviour and areas where changes need additional verification.

    Read Test Coverage

Legacy Codebase Audit

The full picture on auditing a legacy codebase and migrating off it.