System Dependence Graph generation from Java source code
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
gradle/wrapper Update Gradle to 4.6 Mar 18, 2018
out/production/classes/sourcedg Updates Dec 11, 2018
src/main/java/sourcedg Updates Dec 11, 2018
.gitignore Code normalization Nov 28, 2017
.gitlab-ci.yml Add .gitlab-ci.yml Aug 8, 2017 Update Sep 13, 2018
build.gradle Updates Dec 11, 2018
gradlew Initial commit May 25, 2017
gradlew.bat Initial commit May 25, 2017
settings.gradle Rename project Oct 27, 2017

Towards a Framework for Generating Program Dependence Graphs from Source Code

Originally conceived for compiler optimization, the program dependence graph has become a widely used internal representation for tools in many software engineering tasks. The currently available frameworks for building program dependence graphs rely on compiled source code, which requires resolving dependencies. As a result, these frameworks cannot be applied for analyzing legacy codebases whose dependencies cannot be automatically resolved, or for large codebases in which resolving dependencies can be infeasible. In this paper, we present a framework for generating program dependence graphs from source code based on transition rules, and we describe lessons learned when implementing two different versions of the framework based on a grammar interpreter and an abstract syntax tree iterator, respectively.