Software developers spend up to 70 percent of their time figuring out how existing source code works, but common code editing tools offer little help for this task. Sourcetrail helps software engineers explore and navigate unknown source code quickly and thoroughly by combining an interactive graph visualization, a concise code view and a powerful search algorithm, all built into an easy-to-use cross-platform developer tool.

Concept

How It Works

1 Index your Source Code

Sourcetrail's in-depth static analysis finds all definitions and references within your source files. You can choose from several methods for project setup.

Index your Source Code

2 Find any Symbol

Use Sourcetrail's search field to quickly find any symbol within the whole codebase. The fuzzy keyword matching gives you the best matches with just a few keystrokes.

Find any Symbol

3 Navigate Visually

The graph visualization provides a quick overview of any class, method, field, etc., and all its relations. The graph is fully interactive. Use it to move through the codebase by focusing on other nodes and edges.

Navigate Visually

4 Explore your Code

Finally the code view holds all implementation details of the element in focus within a well-arranged list of code snippets. Further inspect scopes and local variables, or focus on any other encountered reference or element.

Explore your Code

5 Connect your Source Editor

Communicate via plugin between Sourcetrail and your favorite source editor. This allows for easy switching between writing and exploring. Have a look at our list of supported editors.

Connect your Source Editor
Explore Classes Visually Explore Classes Visually
Find Symbols with Fuzzy Search Find Symbols with Fuzzy Search
View all References of a Symbol View all References of a Symbol
Follow Calls in Graph or Code Follow Calls in Graph or Code
Investigate File Dependencies Investigate File Dependencies
Easy Project Setup Easy Project Setup
Switch Colors and Layout Switch Colors and Layout

Why Sourcetrail?

The reality of software development.

As software engineers, we know that we have the skills and capacity to actualize all of our ideas. But sometimes, it’s more difficult than we expect. Professional software development is more often than not a team effort. Working in teams allows us to solve harder problems, but it comes at a cost. When a codebase grows, it becomes increasingly more complex to track every addition. Consequently, more and more time is spent investigating the current implementation while less is spent on writing new features. Developers new to a project will often have to spend days or even weeks familiarizing themselves with the codebase before actually becoming productive.

Programming languages are not the problem.

Programming languages are constantly evolving. They reduce the overhead a software developer needs to keep in mind by abstracting away more and more limitations of the machine. But regardless of the language, if a project reaches a certain size, it's hard to keep a consistent mental model of the source code's structure. The problem here is not the poor abstraction of the language, but the high information density of code. Every line in the source code has a purpose and as software developers, we spend most of your time searching for those small pieces that are currently relevant. Why can't we take a step back and see how the components connect with each other, without constantly looking at every detail of code?

We already have enough code editors.

When it comes to writing code, we have a multitude of options to suit whatever workflow we desire. What is harder to address is how efficiently we can understand an existing implementation. While there are many great code editors out there, they’re designed for writing code and are not made for navigating all implementation at hand. Sure, every developer has their own strategy of finding information within source code, from searching documentation to looking at tests, or asking the original authors when available. But when you’ve exhausted all these options, you are inevitably left with digging through code. And let’s face it—digging through is something that most programmers would rather avoid.

The computer knows it all!

Understanding the fundamentals of your codebase shouldn’t be that hard. Seeing which objects are involved in a feature and the paths that it takes through the source files should be a no-brainer. The funny thing about all this? Your computer knows it all. By using a compiler or interpreter, your computer already knows how the language works. It knows what paradigms exist and because it's turning your source code into executable instructions; it knows every single piece of information within the entire codebase, including: where functions are called, how types get instantiated, where variables get changed. Accessing this information was cumbersome for us developers so far, but is easily possible with Sourcetrail.

Meet Sourcetrail!

We want you to meet Sourcetrail, the interactive source explorer that changes the way you think about code. Sourcetrail is a lightweight tool specifically crafted for fast and comprehensive navigation within your source code. It features a whole new concept of searching and understanding source code, by utilizing static analysis, visualization, and smart code search. Sourcetrail indexes your code and saves all information on how different symbols are composed and how they play together. By giving you easy access to all this information, Sourcetrail shortens the time used up by reading source code and leaves you with more time to spend on things that you actually enjoy doing as a software developer. Start using Sourcetrail today!

The Best Parts

  • Accelerate your productivity by navigating and understanding source code faster.
  • Easily keep pace with a growing codebase by quickly familiarizing yourself with new additions.
  • The lightweight interface is easy to understand and let's you immediately get down to the real problem.
  • Sourcetrail is a standalone application that runs on all major platforms. Try it yourself!
  • It communicates with different code editors for seamless integration into your workflow.
  • It works out of the box with minimal setup involved.
  • It is secure to use with any source code by working completely offline.
  • It currently supports the programming languages C, C++ and Java.

Get Started!

Start using Sourcetrail now! Download our free trial or purchase the full version.

Keep updated about new features and releases by joining our mailing list. *powered by MailChimp

Sign up to our mailing list:

or follow us on social media