Quellcode-Explorer für C/C++ und Java*

* Kostenlos für nicht kommerzielle Nutzung

Softwareentwickler verbringen bis zu 70 Prozent ihrer Zeit damit, bestehenden Programmcode verstehen zu wollen. Trotzdem bieten die meisten Entwicklungsprogramme nur wenig Unterstützung bei dieser Aufgabe. Sourcetrail hilft Softwareentwicklern, in unbekanntem Programmcode zu navigieren und diesen schnell zu verstehen. Ermöglicht wird dies durch die Kombination von interaktiver Visualisierung, präziser Codeansicht und effizienter Suche, vereint in einem benutzerfreundlichen plattformunabhängigen Entwicklerprogramm.

Concept

Empfehlungen

Sourcetrail helps me getting a grip on a large unfamiliar codebase. It gives me a unique perspective on code between the big picture and the gory details which contemporary IDEs don't provide.

Sourcetrail is the tool I wish I had for the last twenty years. Making sense of a large source base of C and C++ has never been easier.

Day after day, Sourcetrail is proving an invaluable tool for both getting acquainted with others' codebases and getting back to personal side projects I can't work on continuously.

Forget architectural and design documents that are anyway almost always out-of-date, whenever I need to understand a new codebase, Sourcetrail is my first step to get a conceptual, higher-level overview of how things are connected.

I was struggling to understand a huge legacy system my team was tasked with supporting. Sourcetrail (then Coati) helped us untangle the spaghetti code and its dependencies, letting us see what would be affected when we touched each function.

Nelson Ferrari, USA

It's very rare to encounter software projects that are considerate to a fresh set of eyes when trying to be productive using them. Sadly, this is true of a large number of 3rd party open source projects or even in-house legacy software. As a software professional, I saw great value in what Sourcetrail hoped to achieve.

Having experimented with Sourcetrail over the past few months while dissecting a number of complex projects, I have been impressed to see the barriers to entry being removed. Individual layers of software being revealed before my eyes with class diagrams, caller graphs, callee graphs & more all presented accurately and interactively.

My understanding of the software dependencies I'm using has increased dramatically and as a result so has my productivity. Great work Sourcetrail!

Andrew Foster, UK

Warum Sourcetrail?

Die Realität der Softwareentwicklung.

Als Softwareentwickler besitzen wir die Fähigkeiten und Kompetenzen all unsere Ideen umzusetzen. Aber oft wird es komplizierter als wir anfangs erwartet haben. Professionelle Softwareentwicklung ist daher meistens Teamarbeit. Im Team zu arbeiten erlaubt es uns, schwierigere Probleme zu Lösen. Das ist jedoch auch mit einem Preis verbunden: Wenn eine Codebasis immer weiter wächst, wird es schwieriger, alle Änderungen zu verfolgen. Infolgedessen wird mehr und mehr Zeit dazu verwendet, den bestehenden Programmcode zu verstehen und nicht dazu, neue Funktionalität hinzuzufügen. Entwickler, die neu in ein Softwareprojekt einsteigen, verbringen oft Tage oder sogar Wochen damit, sich in der Codebasis zurecht zu finden, ehe sie endlich produktiv werden können.

Programmiersprachen sind nicht das Problem.

Programmiersprachen entwickeln sich immer weiter und machen es dem Entwickler immer einfacher, indem sie mehr und mehr Einschränkungen der Hardware abstrahieren. Aber egal welche Sprache verwendet wird, sobald ein Projekt eine gewisse Größe erreicht hat, wird es unmöglich die gesamte Struktur der Codebasis im Kopf zu behalten. Das Problem ist nicht die mangelhafte Abstrahierung der Sprache, sondern die hohe Informationsdichte vom Programmcode. Jede Zeile im Programmcode hat einen Zweck und als Softwareentwickler verbringen wir den Großteil unserer Zeit damit, jene kleinen Informationsblöcke zu finden, die aktuell für uns relevant sind. Warum können wir nicht einfach einen Schritt zurück machen und uns ansehen, wie die einzelnen Komponenten zusammenspielen, ohne ständig alle Details des Programmcodes im Kopf behalten zu müssen?

Wir haben genug Editoren.

Wenn es ums Schreiben von Programmcode geht, gibt es bereits eine Vielzahl von möglichen Editoren, die beim Schreiben von Quellcode jede gewünschte Arbeitsweise unterstützen. Wenn man hingegen eine bestehende Implementierung verstehen will, ist es nicht so leicht. Obwohl es bereits viele sehr gute Quellcode-Editoren gibt, sind diese in erster Linie zum Schreiben von Programmcode und nicht zum Verstehen der Implementierung gemacht. So hat jeder Entwickler seine eigene Strategie entwickelt, Informationen im Programmcode zu finden: in der Dokumentation suchen, Tests lesen oder die ursprünglichen Autoren fragen. Aber wenn alle Möglichkeiten erschöpft sind, bleibt einem nichts anderes übrig, als sich durch den Programmcode zu wühlen, was die meisten Programmierer jedoch lieber vermeiden würden.

Der Computer weiß alles!

Die Grundlagen einer Codebasis zu verstehen, sollte nicht so schwer sein. Zu wissen, welche Objekte an einer Funktionalität beteiligt sind und zu erkennen, welche Pfade diese Funktionalität durch den Programmcode nimmt, sollte ein Kinderspiel sein. Das Beste daran? Der Computer weiß das alles eigentlich schon. Mithilfe des Compilers oder Interpreters weiß der Computer, wie eine Programmiersprache funktioniert. Weil er den Programmcode schlussendlich ausführt, kennt er alle Paradigmen und jedes Implementierungsdetail der gesamten Codebasis, z.B. wo Funktionen aufgerufen werden, wie Typen instanziiert werden, wo Variablen verändert werden. Diese Informationen zu erlangen und effektiv zu verwenden war für Softwareentwickler bisher eher umständlich. Mit Sourcetrail wird dies allerdings ganz einfach.

Lern Sourcetrail kennen!

An dieser Stelle möchten wir dir Sourcetrail vorstellen. Sourcetrail ist ein leichtgewichtiges Entwicklerwerkzeug, mit Fokus auf schneller und aufschlussreicher Navigation durch Softwarevisualisierung. Bisherige Softwarevisualisierungen funktionierten meist nur für kleine Projekte gut. Statische Diagramme werden schnell komplex, unleserlich oder passen kaum auf den Bildschirm. Sourcetrail nutzt hingegen die Interaktivität von Computersystemen und generiert dynamisch Diagramme, die nur die momentan relevanten Teilbereiche samt aller Abhängigkeiten abbilden. Weil Visualisierung alleine aber nicht reicht, zeigt dir Sourcetrail neben dem Diagramm auch immer die dazu relevanten Codezeilen an. Dieses Paket aus Code und Graph wir mit einer mächtigen Suche abgerundet, die dich schnell zu deinem Einstiegspunkt in die Navigation bringt. Durch diese Kombination verkürzt Sourcetrail die Zeit, die du brauchst, um dich mit unbekanntem Code vertraut zu machen. Dadurch bleibt mehr Zeit für die Dinge, die du eigentlich tun willst. Fang jetzt an Sourcetrail zu verwenden!

So funktioniert’s

1 Indiziere deinen Programmcode

Sourcetrail’s detaillierte statische Analyse findet alle Definitionen und Referenzen im gesamten Programmcode. Es gibt mehrere Methoden der Projekterstellung.

Indiziere deinen Programmcode

2 Finde jedes Symbol

Verwende Sourcetrail’s Suchfeld, um jedes Symbol in der gesamten Codebasis schnell zu finden. Der unscharfe Suchalgorithmus liefert mit nur wenigen Tastendrücken beste Ergebnisse.

Finde jedes Symbol

3 Navigiere visuell

Die Visualisierung bietet einen schnellen Überblick über alle Klassen, Methoden, Variablen, etc. und all ihre Relationen. Ein Klick auf andere Symbole oder Verbindungen genügt, um einfach durch den Programmcode zu springen.

Navigiere visuell

4 Erkunde den Programmcode

Für das ausgewählte Element zeigt die Codeansicht alle Details der Implementierung. Inspiziere Geltungsbereiche und lokale Variablen, oder ändere den Fokus mit einem Klick auf eine andere Referenz.

Erkunde den Programmcode

5 Verbinde deinen Editor

Via Plugin lässt sich Sourcetrail mit deinem bevorzugtenunterstützten Editoren Editor synchronisieren. Dadurch kann leicht zwischen Schreiben und Verstehen gewechselt werden. Sieh dir dazu die Liste unserer unterstützten Editoren an.

Verbinde deinen Editor
Erkunde Klassen visuell Erkunde Klassen visuell
Unscharfe Suche für Symbole Unscharfe Suche für Symbole
Verbinde den Editor via Plugin Verbinde den Editor via Plugin
Folge Aufrufen in Graph & Code Folge Aufrufen in Graph & Code
Aufruf- und Vererbungsdiagramme Aufruf- und Vererbungsdiagramme
Verlauf und Lesezeichen Verlauf und Lesezeichen

Los geht’s!

Sourcetrail ist kostenlos für nicht kommerzielle Nutzung. Downloade jetzt! Oder sieh dir unsere Preise für kommerzielle Kunden an.

Bleib mit unserer Mailingliste über neue Features und Downloads auf dem Laufenden.
*betrieben über MailChimp

Anmeldung zur Mailingliste:

oder folge uns auf den Sozialen Medien