SemChunk-C: Semantic Segmentation for C Code
Not on the map. Why?
Abstract (arXiv)
Semantic segmentation of code written in a C-family language remains a challenging problem, due to the language's complex syntax, macro expansion, and irregular structural patterns. Existing chunking methods, such as fixed-sized windows, heuristic splitting, and syntax-based tools, often fail to capture meaningful functional units, limiting the efficacy of retrieval and other downstream LLM driven tasks. In this paper, we address the problem of chunking in C-related languages. First, we define a set of code chunk categories. Second, we train an LLM-based classifier to a) identify chunk boundaries, and b) assign each chunk a descriptive functional attribute (a category), which can be useful for downstream tasks. By leveraging the LLM's ability to capture semantic context within the code, we assume flexible chunk boundaries, allowing to adapt to the specific structure and context of each instance. Third, we introduce SemChunk-C, a family of lightweight language models for semantic chunking of C-related files (.c, .cpp, .h, .cs, etc.). These models are based on the first four Ettin encoders [1] with 17M, 32M, 68M, and 150M parameters. Despite their relatively small size, they are capable of identifying cohesive code units, such as data structures, interface blocks, and other components. Furthermore, we demonstrate the robustness of our approach on real-world code, including challenging constructs such as nested definitions and macros. We test our approach on various datasets, and show that it achieves high boundary accuracy and semantic coherence, matching or outperforming chunkers that are based on much larger code-oriented LLMs. We also validate the improved performance of the downstream tasks on a few curated benchmarks.
Key facts. No citing papers in the map yet (data through 7 Oct 2026). Builds on 13 of its 19 references that are in the map. First posted on arXiv 12 May 2026.
Builds on
13 of 19 references.
References · 13
- 2023Towards General Text Embeddings with Multi-stage Contrastive Learningcited by 705
- 2020GraphCodeBERT: Pre-training Code Representations with Data Flowcited by 600
- 2024Seven Failure Points When Engineering a Retrieval Augmented Generation Systemcited by 138
- 2018Text Segmentation as a Supervised Learning Taskcited by 76
- 2025LongCodeZip: Compress Long Context for Code Language Modelscited by 38
- 2025cAST: Enhancing Code Retrieval-Augmented Generation with Structural Chunking via Abstract Syntax Treecited by 17
- 2025CodeRAG: Finding Relevant and Necessary Knowledge for Retrieval-Augmented Repository-Level Code Completioncited by 12
- 2015Text Segmentation based on Semantic Word Embeddingscited by 11
- 2025RANGER -- Repository-Level Agent for Graph-Enhanced Retrievalcited by 7
- 2019Semantic Source Code Models Using Identifier Embeddingscited by 6
- 2025YABLoCo: Yet Another Benchmark for Long Context Code Generationcited by 5
- 2025FuncVul: An Effective Function Level Vulnerability Detection Model using LLM and Code Chunkcited by 4
1 more
- 2025Can LLMs Replace Humans During Code Chunking?cited by 2
Built on by
Not cited yet.