RepoGraph: a novel semantic code exploration tool for Python repositories based on knowledge graphs and deep learning

Christopher Williams, Rosa Filgueira*

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

This work presents RepoGraph, an integrated semantic code exploration web tool that combines information extraction, knowledge graphs, and deep learning models. It offers new capabilities for software developers (from academia and industry) to represent and query Python repositories. Unlike existing tools, RepoGraph not only provides a novel search interface powered by deep learning techniques but also exposes the underlying features and representations of repositories to users. Additionally, it offers several interactive visualizations. We also introduce RepoPyOnto, a new ontology that captures the features of Python code repositories and is used by RepoGraph for representing the captured knowledge. Finally, we successfully evaluate RepoGraph against several criteria, including function summarization performance, the correctness and relevance of search results, as well as the processing time for constructing graphs of various sizes.
Original languageEnglish
Title of host publicationProceedings
Subtitle of host publication2023 IEEE 19th international conference on e-science (e-science)
EditorsGeorge Angelos Papadopoulos, Rosa Filgueira, Rafael Ferreira Da Silva
Place of PublicationPiscataway, NJ
PublisherIEEE
Number of pages10
ISBN (Electronic)9798350322231
ISBN (Print)9798350322248
DOIs
Publication statusPublished - 25 Sept 2023
Event19th IEEE International Conference on eScience - Limassol, Cyprus, Limassol, Cyprus
Duration: 9 Oct 202313 Oct 2023
Conference number: 19
https://www.escience-conference.org/2023/

Publication series

NameIEEE international conference on e-science
ISSN (Print)2325-372X
ISSN (Electronic)2325-3703

Conference

Conference19th IEEE International Conference on eScience
Abbreviated titleeScience
Country/TerritoryCyprus
CityLimassol
Period9/10/2313/10/23
Internet address

Keywords

  • Static code analysis
  • Code exploration
  • Code understanding
  • Semantic code search
  • Knowledge graph
  • Function summarization
  • Transfer learning
  • Deep learning models

Fingerprint

Dive into the research topics of 'RepoGraph: a novel semantic code exploration tool for Python repositories based on knowledge graphs and deep learning'. Together they form a unique fingerprint.

Cite this