You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Contained within this repository is a comprehensive and automated code graph analysis pipeline. While initially designed to support Java through the utilization of [jQAssistant](https://jqassistant.github.io/jqassistant/current), it now also [supports Typescript](https://github.com/jqassistant-plugin/jqassistant-typescript-plugin) and is open to extension for further programming languages. The graph database [Neo4j](https://neo4j.com) serves as the foundation for storing and querying the graph, which encompasses all the structural intricacies of the analyzed code. Additionally, Neo4j's [Graph Data Science](https://neo4j.com/product/graph-data-science) provides additional algorithms like community detection to analyze the code structure. The generated reports offer flexibility, ranging from simple query results presented as CSV files to more elaborate Jupyter Notebooks converted to Markdown or PDF formats.
5
+
This repository provides an automated code graph analysis pipeline built on [jQAssistant](https://jqassistant.github.io/jqassistant/current) and [Neo4j](https://neo4j.com). It supports Java and experimental TypeScript analysis, capturing both the structure and evolution of your code base.
6
+
7
+
Ever wondered which libraries matter most, how your modules build on each other, which parts have few contributors, which files change together, or where structural anomalies emerge?
8
+
9
+
This project helps uncover such patterns through graph-based analysis, visualization, and machine learning — offering hundreds of expert-level reports for deep code insights.
6
10
7
11
---
8
12
@@ -28,11 +32,15 @@ Contained within this repository is a comprehensive and automated code graph ana
28
32
29
33
### :newspaper: News
30
34
35
+
- November 2025: Removed deprecated (since version 2.x) "graph-visualization" node package
36
+
- November 2025: Treemap charts for anomalies and archetypes
37
+
- October 2025: Graph visualizations for anomaly archetypes
38
+
- October 2025: Anomaly archetypes with markdown summary
31
39
- August 2025: Association rule learning for co-changing files in git history
32
40
- August 2025: Anomaly detection powered by unsupervised machine learning and explainable AI
33
41
- May 2025: Migrated to [Neo4j 2025.x](https://neo4j.com/docs/upgrade-migration-guide/current/version-2025/upgrade) and Java 21.
34
42
35
-
### :notebook: Jupyter Notebook Reports
43
+
### :notebook: Jupyter Notebook and Python Reports
36
44
37
45
Here is an overview of [Jupyter Notebooks](https://jupyter.org) reports from [code-graph-analysis-examples](https://github.com/JohT/code-graph-analysis-examples). For a complete list, see the [Jupyter Notebook Report Reference](#page_with_curl-jupyter-notebook-report-reference).
38
46
@@ -45,6 +53,7 @@ Here is an overview of [Jupyter Notebooks](https://jupyter.org) reports from [co
45
53
-[Overview](https://github.com/JohT/code-graph-analysis-examples/blob/main/analysis-results/AxonFramework/latest/overview-java/OverviewJava.md) contains overall statistics and details about methods and their complexity. ([Notebook](./jupyter/OverviewJava.ipynb)).
-[Wordcloud](https://github.com/JohT/code-graph-analysis-examples/blob/main/analysis-results/AxonFramework/latest/wordcloud/Wordcloud.md) contains a visual representation of package and class names ([Notebook](./jupyter/Wordcloud.ipynb)).
-[Java Package Top #1 Authority Archetype and contributing packages](https://github.com/JohT/code-graph-analysis-examples/blob/main/analysis-results/AxonFramework/latest/anomaly-detection/Java_Package/GraphVisualizations/TopAuthority1.svg) ([Query](./domains/anomaly-detection/labels/AnomalyDetectionArchetypeAuthority.cypher), [Source Script](./domains/anomaly-detection/graphs/anomalyDetectionGraphs.sh))
68
78
69
79
## :book: Blog Articles
70
80
@@ -93,13 +103,6 @@ Here are some fully automated graph visualizations utilizing [GraphViz](https://
93
103
- To use venv, no additional installation is needed. For that the environment variable `USE_VIRTUAL_PYTHON_ENVIRONMENT_VENV` needs to be set to `'true'`.
94
104
- Chromium will automatically be downloaded if needed for Jupyter Notebook PDF reports generation.
95
105
96
-
### Additional Prerequisites for Graph Visualization
97
-
98
-
These tools are needed to run the graph visualization scripts of directory [scripts/visualization/](./scripts/visualization/) and the deprecated scripts in [graph-visualization](./graph-visualization):
99
-
100
-
-[Node.js](https://nodejs.org/en)
101
-
-[npm](https://docs.npmjs.com/about-npm)
102
-
103
106
### Additional Prerequisites for Windows
104
107
105
108
- Add this line to your `~/.bashrc` file if you are using Anaconda3: `/c/ProgramData/Anaconda3/etc/profile.d/conda.sh`. Try to find a similar script for other conda package managers or versions.
@@ -158,7 +161,6 @@ The [Code Structure Analysis Pipeline](./.github/workflows/internal-java-code-an
158
161
-[scikit-learn](https://scikit-learn.org)
159
162
-[optuna](https://optuna.org)
160
163
-[SHAP](https://github.com/shap/shap)
161
-
-[Graph Visualization](./graph-visualization/README.md) uses [node.js](https://nodejs.org/de) and the dependencies listed in [package.json](./graph-visualization/package.json).
162
164
-[HPCC-Systems (High Performance Computing Cluster) Web-Assembly (JavaScript)](https://github.com/hpcc-systems/hpcc-js-wasm) containing a wrapper for GraphViz to visualize graph structures.
163
165
-[GraphViz](https://gitlab.com/graphviz/graphviz) for CLI Graph Visualization
164
166
-[Check links in markdown documentation (GitHub workflow)](./.github/workflows/internal-check-links-in-documentation.yml) uses [markdown-link-check](https://github.com/tcort/markdown-link-check).
0 commit comments