Frappé
A tool that lets you query a graph of extracted code dependencies to find symbols, show references, follow chains and determine the impact of changes to your multimillion-line codebase.
Frappé
Frappé
A tool that lets you query a graph of extracted code dependencies to find symbols, show references, follow chains and determine the impact of changes to your multimillion-line codebase.
Project Overview
Frappé is a new tool that helps developers understand and navigate dependencies in their code. It aims to address the limitations of tools that developers normally use when they try to find a particular code in large codebases.
How it works
From a codebase, Frappé extracts a dependency graph that lets developers ask questions about the code, and then shows them the answers. Frappé uses the context of the question to give answers that are much more precise than would otherwise be possible.
This analogy shows how it’s done: Imagine you are in an unfamiliar area, and you google ‘Where is the nearest cafe?’. GIS uses your exact location to give location-specific answers to your question. In the same way, Frappé uses the location of a context of the search to pinpoint the one function or definition that a developer is looking for in a vast body of code. One such question might be: Where is field Z used?
Frappé builds on a variety of techniques from different fields—program analysis, user interface, and software visualisation. It focuses on its application to commonly used languages, such as C/C++ and Java.
What it looks like
Frappé is distinctive because it is visual. From its dependency graph, Frappé creates a map of the source code that looks like a cluster of islands. The islands are related code entities that can be enlarged to get right down to individual symbols.
To find out more, contact Dave Meibusch.
David Meibusch is a member of the Program Analysis team at Oracle Labs, Brisbane, Australia.
Education
- BE (Computer Systems Engineering) 1993, University of Queensland
- BS (Computer Science) 1992, University of Queensland