
文章主要内容和创新点主要内容本文聚焦于源代码分割任务(将代码划分为功能连贯的片段),旨在解决低资源编程语言(如社会科学、心理学领域常用的R语言)在大型代码库中手动分割和句法分析方法效率低下的问题。研究提出了两种基于语言模型(LLMs/SLMs)的自动化分割方法:逐行分析方法:结合目标代码行的上下文(前后代码行)进行功能分类,再合并同类连续行形成片段;基于范围的方法:通过语言模型分析整个代码库,直接生成具有特定功能的连续代码行范围。研究构建了人工标注数据集StatCodeSeg(含R语言代码的细粒度行级标注),并在该数据集及Python代码上进行实验。结果显示:基于上下文的逐行分析优于范围分割;小语言模型(如CodeBERT、CodeT5+)表现优于大语言模型(如GPT-4o、Gemini 1.5 Pro),且这些小模型虽未在预训练中接触过R代码,但仅通过4130行标注数据微调即可实现高效分割。创新点提出两种基于语言模型的分割方法:逐行上下文分析与范围式分割,实现了自动化、领域适配的源代码分割;构建新数据集StatCodeSeg:首个针对研究领域R代码的人工标注数据集,包含细粒度行级功能标注,解决了现有数据集仅关注句法特征的局限;验证小语言模型的优越性:通过实验证明,经微调的小语言模型(如