Zing 论坛

正文

LLI-Bench:用大语言模型评估代码可维护性的开源基准框架

介绍 LLI-Bench 项目,一个结合 SonarQube 静态分析、Git 社会技术指标和 LLM 评估的综合性软件可维护性评估框架,支持代码重构效果验证和学术研究复现。

software maintainabilityLLM evaluationSonarQubeGit metricscode qualitytechnical debtrefactoringbenchmark
发布时间 2026/04/16 17:41最近活动 2026/04/16 17:52预计阅读 2 分钟
LLI-Bench:用大语言模型评估代码可维护性的开源基准框架
1

章节 01

LLI-Bench:用大语言模型评估代码可维护性的开源基准框架(导读)

LLI-Bench是一个结合SonarQube静态分析、Git社会技术指标和LLM评估的综合性软件可维护性评估框架,旨在解决传统工具无法全面衡量代码可维护性的问题,支持代码重构效果验证和学术研究复现。

2

章节 02

项目背景与研究动机

LLI-Bench源自贝尔法斯特女王大学CSC4006课程研究项目,核心假设为单一维度代码度量无法全面反映软件真实可维护性。传统工具(如SonarQube)难以捕捉团队协作模式、代码变更频率等社会技术维度,而现代项目面临代码规模膨胀、技术债务累积、核心开发者流失等挑战。该框架创新融合三类证据源:静态代码指标(SonarQube获取复杂度、技术债务等)、Git社会技术指标(变更频率、作者集中度等)、LLM评估(纯代码判断、Git上下文增强判断等)。

3

章节 03

核心架构与工作流程

LLI-Bench采用模块化设计,包含四个工作流:

  1. 核心流水线:克隆仓库、SonarQube扫描、Git指标提取、LLM评估、数据合并与验证;
  2. 综合评估器:融合多源指标生成可维护性/可持续性判断;
  3. 重构研究模块:应用LLM重构、对比前后指标变化、验证功能非回归;
  4. 研究问题分析:生成论文结果表格与可视化,支持复现。
4

章节 04

研究问题与设计

框架围绕五个核心研究问题构建:

  • RQ1:LLM可维护性估计与SonarQube基线的一致性;
  • RQ2a:不同LLM模型评估结果的一致性及重跑稳定性;
  • RQ2b:Git上下文对LLM判断的影响;
  • RQ3:技术信号与社会技术信号对综合判断的贡献权重;
  • RQ4:LLM指导重构的有效性验证。
5

章节 05

技术实现细节

数据输出:生成git_metrics.csv、sonar_metrics.csv、llm评估结果、合并数据集、验证报告、综合评估结果、重构对比数据等; 配置管理:使用env.ps1/example和env.sh/example模板,用户填写SonarQube地址、LLM API密钥等,本地配置被Git忽略; 执行命令:模块化调用(如python -m pipeline.main运行核心流水线,python -m experiments.refactoring运行重构研究)。

6

章节 06

使用场景与价值

  • 学术研究:支持大规模可维护性实证研究、LLM代码评估基准测试、社会技术因素量化分析;
  • 企业实践:技术债务审计、重构ROI评估、代码审查辅助、团队健康度监控;
  • 开源生态:评估项目可维护性趋势、识别高风险模块、展示质量改进证据。
7

章节 07

局限性与展望

局限性:依赖外部服务(SonarQube、LLM API)、大规模分析资源需求高、LLM评估成本、结果需结合人工判断; 展望:随LLM能力提升,框架将更精准实用,开源发布为学术与工业界探索奠定基础。