I am a...
I want to...
Sign In/Register for Account
External Research Office
Graph Data Management of Evolving Dependency Graphs for Multi-versioned Codebases. (September 2017)
Frappé is a code comprehension tool developed by Oracle Labs that extracts the code dependencies from a codebase and stores them in a graph database enabling advanced comprehension tasks. In addition to traditional text-based queries, such context-sensitive tools allow developers to express navigational queries of the form Does function X or something it calls write to global variable Y? providing more insight into the underlying codebases. Frappé captures the dependencies based on the most recent snapshot of the codebase. In this work we focus on the challenges associated with the management of multiple source code revisions, and investigate strategies to enable advanced code comprehension when the underlying codebase evolves over time. To find the deltas, we detail how entities can be resolved across versions, and propose a model for representing evolving dependency graphs. Our versioned graphs are built using snapshots of large codebases in the order of 13 million lines of code. We show growth and storage benefits of versioned graphs compared to independently storing individual snapshots. We also demonstrate how existing Frappé queries can be executed on versioned graphs and new queries can retrieve a history of changes in a function for a code review use case.
Oshini Goonetilleke, David Meibusch, Ben Barham
Oracle Labs on OTN
Want to try out some of the cool technology being built at Oracle Labs?
Email to a friend
Integrated Cloud Applications and Platform Services
Oracle RSS Feed