New Onboard is here — AI-guided, self-hosted onboarding for your codebase. Learn more
Features Code Navigation Static Analysis Graphs Compliance Metrics Custom API How it works Compliance FAQs Pricing Docs Start free trial
Legacy code

Legacy code analysis made easy

Testing legacy code with the right tool makes maintaining legacy code easy. Get started today with a free trial of Understand.

Automated checks · Shared annotations · Bottom-up architecture

A graph displaying the complex interconnectedness of lines of legacy code, shown beside the Information Browser.
Maintaining legacy code

Nobody left who remembers how it works

Legacy code is code you are responsible for but did not write. It is usually large, usually old, and usually documented by whoever left last. The right tools make everything easier. Here is what makes Understand an effective legacy code analysis tool:

  • Automated tests check new code against inherited code
  • Architecture structures help you understand specific components of legacy code
  • Annotations show changes you or others have made to legacy code
The Information Browser in Understand showing details about a selected entity in a legacy codebase.
The Information Browser shows information about your legacy code.
Working on legacy code

How to understand legacy code

Four things to do with a codebase you have just become responsible for.

Write tests for your legacy code

Writing tests is key to maintaining legacy code. Understand runs automated tests to ensure your new code is compatible with the intended behavior of the legacy code.

Understand's editor window with legacy source code open beside its cross-reference information.

Tag your legacy code for clarity

Lack of documentation is one reason understanding legacy code is so challenging. Use Understand to overcome this obstacle by tagging and annotating your code. This feature ensures continuity between you and other engineers working on the same legacy code.

Annotations made by engineers working on legacy code, attached to entities in the source.

Let the architecture show you the shape of it

Understand's bottom-up architecture structures legacy code in a way that helps you understand it — built from what the code actually does rather than from a diagram somebody drew years ago.

An architecture view in Understand, grouping the files of a legacy project into named components.

Get full coverage with legacy code testing

Understand's CodeCheck feature provides comprehensive coverage of your legacy code, so you know exactly what's working and what's not. Check for mistakes, identify bugs, and resolve errors using this feature for legacy code analysis.

Understand's CodeCheck feature being used to test legacy code, listing violations by file.
Get started

Try Understand for free today

Our free trial enables all features that can be used on a sample code base — or point it at the legacy project you just inherited.