Skip to content

Engine for cleaning, ordering and assisting the documentation of software dependency graphs.

License

Notifications You must be signed in to change notification settings

EMind-dev/dependency_graph_engine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dependency Graph Engine

Embedded Innovation Team - EmbeddedMind

License: MIT Python

The Dependency Graph Engine is a lightweight Python tool designed to clean, organize, and enhance software call graphs, typically generated by documentation systems like Doxygen.

It prepares dependency graphs for advanced workflows, including AI-assisted code documentation, by offering:

  • Automatic cleanup and structuring of .dot graph files
  • Consistent sorting of function relationships
  • Support for context-aware commenting processes driven by AI (e.g., GitHub Copilot)

This tool is especially useful for teams aiming to automate and improve the quality of their code documentation, making it easier for AI models to generate accurate, context-aware comments across a project.


Key Features

  • Cleans and normalizes .dot call graph files
  • Orders nodes based on dependency relationships
  • Facilitates progressive, AI-assisted documentation generation
  • Minimalistic, easy to integrate into existing workflows
  • No external dependencies required

Why It Matters

Standard call graphs are often messy, redundant, and difficult for both humans and AI to parse effectively.
By preprocessing the dependency data, the Dependency Graph Engine ensures that developers — and their AI assistants — have a clean, structured foundation to work from.

This results in:

  • Faster code documentation
  • More consistent and meaningful comments
  • Smoother onboarding for new team members
  • Better maintainability for growing codebases

Workflow Example

  1. Generate a call graph (.dot file) using a documentation tool like Doxygen.
  2. Clean the .dot file using call_graph_processor.py.
  3. Sort the relationships using order_file_dot.py to organize functions by their dependencies.
  4. Pass the cleaned and ordered dependency graph along with your source code to an AI assistant like GitHub Copilot or ChatGPT.
  5. Prompt the AI to generate Doxygen-style comments, starting with the leaf functions and progressing upward.

Example AI Prompt

First step (comment leaf functions):

"Based on the provided dependency graph, identify the leaf functions and write a Doxygen-style comment for each one. Place each comment directly above the corresponding function declaration."

After reviewing and refining the comments for leaf functions:

"Now, for module XYZ, generate Doxygen-style comments for the higher-level functions, using the existing comments for leaf functions as context where applicable."


Roadmap

  • Support for larger and more complex dependency graphs
  • Direct integration with popular AI documentation tools
  • Visualization tools for dependency graphs
  • CLI interface for easier usage

Embedded Innovation Team — Powered by EmbeddedMind Inc.

About

Engine for cleaning, ordering and assisting the documentation of software dependency graphs.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages