Have you ever felt lost in a foreign city? Software engineers know that feeling when they navigate through unfamiliar code. It might sound like a trivial problem, but studies have shown that they spend about 25% of their time just on code navigation.1

We – a group of researchers from the Visualization Research Center, University of Stuttgart (VISUS) – have developed signposts for software engineers. Just like real signpost, ours intend to guide software developers through the code, providing data to make informed decisions where to turn next. They represent critical information as small, word-sized graphics, similar to sparklines2 known from Microsoft Excel. But instead of integrating them into spreadsheets or texts, we enrich source code with these little visualizations.

Depending on the task software developers want to solve, we suggest different variants. For instance, one representation visualizes the runtime consumed by a method in the last run of the program.3,4 Every method declaration and method call gets annotated with such a signpost guiding the developer to performance bottlenecks. A central advantage is that the user does not have to switch back and forth between the code and the runtime information while navigating through the code. Other examples from our work use of word-sized graphics to visualize changing values of numeric variables during debugging or guide developers to relevant results as part of a code search tool.5,6

Word-sized graphics enriching code to visualize, among other things, the percentage of runtime consumed by the method and how it was propagated through method calls.

Integrated development environments (IDEs) provide more and more helpful information in their code editors: text highlighting identifies code that is related to compile errors or style issues, side bars give an overview of search results, and even background highlighting is used to visualize software performance. Our prototype implementations of IDE plugins show that you could take this idea a step further by using word-sized graphics. We hope that IDE developers will pick up our ideas to better guide software engineers and make code navigation more efficient.