JavaRelationshipGraphs (JRG): Transforming Java Projects into Graphs using Neo4j Graph Databases

No Thumbnail Available

Date

2019

Journal Title

Journal ISSN

Volume Title

Publisher

ACM Digital Library

Abstract

Understanding dependency relationship between various program elements in an object-oriented system is essential for many software engineering applications. In this paper, we propose a novel approach of transforming a Java project into a connected graph comprising of program elements (represented as graph nodes) connected to each other using ownership and dependency relationships (represented as edges). These graphs, named as JavaRelationshipGraphs (JRG) are created and stored using Neo4j Graph Database. Additionally, the proposed JavaRelationshipGraphs framework provides details about the two-staged conversion process along with the algorithms involved. The JRG framework uses compiled Java project to obtain the corresponding graph, which can be effectively visualized and queried using the Neo4j browser. JRG is capable of representing most of the important object-oriented features like inheritance, encapsulation, method overloading and overriding. Hence, they are suitable for use in software engineering applications like program dependence analysis, code mining, etc.

Description

Keywords

Computer Science, JavaRelationshipGraphs (JRG), Neo4j Graph Databases, Java

Citation

Endorsement

Review

Supplemented By

Referenced By