CodeGraph: Open-Taxonomy Knowledge Graph for Source Code with Wikidata Grounding
cs.SE, cs.CL, cs.IR
Submitted: 2026-09-24
Updated: 2026-09-24
Comments: Accepted at CIKM 2026
Code: https://github.com/halykoss/CodeGraph
License: http://creativecommons.org/licenses/by/4.0/
The gist: Public software repositories, like GitHub and Software Heritage Archive, store billions of files, yet extracting their implicit engineering knowledge ---i.e., the algorithms they implement, the
Terminology
Abstract
Public software repositories, like GitHub and Software Heritage Archive, store billions of files, yet extracting their implicit engineering knowledge ---i.e., the algorithms they implement, the paradigms they follow, the patterns they instantiate, and the application domains they serve--- remains challenging, as current tools are constrained to syntactic and token-level analysis. We present a pipeline for building an open-taxonomy semantic annotation of source code using a code-specialised Large Language Model. The extracted entities are grounded in Wikidata through a three-stage linking procedure: a deterministic SPARQL stage handles unambiguous entities, a Deep Research Agent resolves the residual long tail, and a hierarchy-rollup stage imports the parent-of closure of each resolved Wikidata identifier. The resulting annotations are materialised as a source-code-specific open-taxonomy knowledge graph. We further introduce a calibrated quality-assurance protocol that quantifies annotation precision by combining a small human gold set with an LLM-as-a-judge filter. We applied our pipeline to the 167 million files of the Stack-Edu corpus, creating the first known large-scale open-taxonomy knowledge graph for source code. Our graph, named CodeGraph, contains approximately 158 million nodes, which include around 145 million files, about 63,000 extracted concept entities (such as algorithms, paradigms, design patterns, and application domains), and roughly 19,800 grounded Wikidata entities. Furthermore, CodeGraph features approximately 1 billion typed edges that connect files to their respective concepts, link these concepts to their grounded Wikidata identifiers, and relate them to their parent categories, covering 14 programming languages.
Sources
- SmolLM2: When Smol Goes Big -- Data-Centric Training of a Small Language Model
- CodeSearchNet Challenge: Evaluating the State of Semantic Code Search
- StarCoder: may the source be with you!
- StarCoder 2 and The Stack v2: The Next Generation
- CodeXGLUE: A Machine Learning Benchmark Dataset for Code Understanding and Generation
- CodeNet: A Large-Scale AI for Code Dataset for Learning a Diversity of Coding Tasks
- Code Llama: Open Foundation Models for Code
- Qwen3 Technical Report
- LEONARDO: A Pan-European Pre-Exascale Supercomputer for HPC and AI Applications
- Efficient Guided Generation for Large Language Models
- LLMAEL: Large Language Models are Good Context Augmenters for Entity Linking
Related papers
- Falsification-Based Verification of LLM-Generated Optimization Models: Sound Test Batteries and Their Detection Limits
- GitSkills: A Dataset of Agent Skills on GitHub
- SABER: Benchmarking Operational Safety of LLM Coding Agents in Stateful Project Workspaces
- PackMonitor: Enabling Zero Package Hallucinations Through Decoding-Time Monitoring
- IntentCoding: Amplifying User Intent in Code Generation
- Incentives and Outcomes in Bug Bounties