Ein zusammenhängender Text ist schnell gelesen, aber auf Programmcode dürfte dies in den seltensten Fällen zutreffen. Handelt es sich dann auch noch um Software, die über Jahre oder gar Jahrzehnte immer wieder erweitert wurde, kann es sehr lange dauern, die Strukturen zu verstehen. In solchen Fällen ist ein Visualisierungstool enorm hilfreich. CodeExplorer ist ein Codegraph, das heißt: Er stellt den Code grafisch mit Knoten und Kanten dar und macht so komplexe Strukturen übersichtlich. Schnittstellen lassen sich leichter erkennen und Projekte besser aufteilen. Je nach Granularität repräsentieren die Knoten Packages, Klassen oder Methoden, und die Kanten zeigen die jeweiligen Abhängigkeiten. Nutzer können beim CodeExplorer zudem an den Knoten und Kanten Expertenwissen hinzufügen und die Grafik nach Belieben umstrukturieren oder Layouts vorgeben. Der CodeExplorer eignet sich bestens für Entwicklergruppen. Sie können Softwareänderungen, -migrationen und -umsetzungen kollaborativ planen und nachverfolgen. Das vereinfacht die Kommunikation im Team maßgeblich und beschleunigt die Umsetzung.
Ganz vereinfacht lässt sich ein Codegraph mit dem Kartenausschnitt eines U-Bahn-Netzes vergleichen: Die Stationen sind Knoten, die Strecken zwischen ihnen Kanten. Die meisten Knoten haben zwei Nachbarn, es können aber auch mehr oder weniger sein. Es ist offensichtlich, dass Änderungen an Knoten mit vielen Abhängigkeiten riskanter sind. Das Wissen um die Eigenschaften hilft, Fehler zu vermeiden und schneller zu produktiven Ergebnissen zu gelangen.
Die Struktur wird innerhalb einer Webanwendung dargestellt. Die Anzeige beginnt standardmäßig auf Package-Ebene, was die Komplexität reduziert. Der Benutzer kann die Darstellung nach seinen Vorgaben erweitern. Knoten lassen sich per Drag-and-drop bewegen, um den Graphen anzupassen. Im Übrigen folgen die Knoten ihrer physikalischen Simulation. Zudem ziehen sie einander mit ihren Kanten an und liegen dadurch auch visuell näher an den Nachbarn. Geplant ist, die Bearbeitung ganzer Knotengruppen zu ermöglichen und das Tagging für Knoten und Kanten weiter auszubauen. Das unterstützt das Wissensmanagement. Ferner soll eine Ontologie hinterlegt werden, um diese Tags untereinander zu strukturieren.