Skip to content

Engraph-dev/LEDGE

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LEDGE : Leveraging Dependency Graphs for Enhanced Context Aware Documentation Generation

This repository contains code, datasets, visualizations, and analysis for the research project, LEDGE : Leveraging Dependency Graphs for Enhanced Context Aware Documentation Generation. a novel framework that integrates dependency graphs with large language models (LLMs) to automate the generation of structured, context aware software documentation

architecture

Folder Structure

├── README.md
├── LICENSE
├── datasets/
│   ├── average_evaluation_results.csv
│   ├── evaluation_results.csv
│   └── quantitative_analysis.csv
├── diagrams/
└── notebooks/
    ├── evaluation.ipynb
    └── graphs.ipynb

Overview

Project Objective

LEDGE addresses the problem of incomplete or outdated documentation in large codebases. It does so by:

  • Constructing dependency graphs from source code using custom parsers.
  • Storing these graphs in MemGraph using Cypher queries for fast retrieval.
  • Embedding code symbols for semantic similarity matching.
  • Using a HybridRetriever that combines graph traversal and vector search to provide the LLM with rich context.
  • Generating accurate, structured documentation with GraphRAG-based retrieval-augmented generation.

Dataset

We evaluated LEDGE on five diverse open-source repositories:

Project URL Description
Next.js https://github.com/vercel/next.js React framework for server-side rendering
MobX https://github.com/mobxjs/mobx State management library
Turborepo https://github.com/vercel/turborepo Monorepo build system
Prisma https://github.com/prisma/prisma Type-safe database toolkit for TypeScript
Gatsby https://github.com/gatsbyjs/gatsby React-based static site generator

LEDGE outperforms traditional documentation in both qualitative and quantitative evaluations using metrics like BLEU, ROUGE-L, BERTScore, and Jaccard similarity.


Notebooks

The notebooks/ folder includes interactive visualizations and reproducible analysis:

  • evaluation.ipynb — Analyzes BLEU, ROUGE, and BERTScore comparisons between LEDGE and baseline documentation.
  • graphs.ipynb — Plots for research paper.

These notebooks replicate core results from the paper and demonstrate the impact of graph-based retrieval in documentation generation.


License

This project is licensed under the MIT License. See the LICENSE file for full details.


Contact

For questions, collaborations, or feedback, feel free to reach out:

Mihir Panchalmihirpanchal5400@gmail.com
Arnav Deoarnav.nitin.deo@gmail.com
Varad Prabhuvaradprabhu111@gmail.com
Prinkal Doshiprinkaldoshi@gmail.com
Chetashri Bhadanechetashri.bhadane@djsce.ac.in
Pranit Baripranit.bari@djsce.ac.in

About

Leveraging Dependency Graphs for Enhanced Context-Aware Documentation Generation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 100.0%