章节 01
LLI-Bench:用大语言模型评估代码可维护性的开源基准框架(导读)
LLI-Bench是一个结合SonarQube静态分析、Git社会技术指标和LLM评估的综合性软件可维护性评估框架,旨在解决传统工具无法全面衡量代码可维护性的问题,支持代码重构效果验证和学术研究复现。
正文
介绍 LLI-Bench 项目,一个结合 SonarQube 静态分析、Git 社会技术指标和 LLM 评估的综合性软件可维护性评估框架,支持代码重构效果验证和学术研究复现。
章节 01
LLI-Bench是一个结合SonarQube静态分析、Git社会技术指标和LLM评估的综合性软件可维护性评估框架,旨在解决传统工具无法全面衡量代码可维护性的问题,支持代码重构效果验证和学术研究复现。
章节 02
LLI-Bench源自贝尔法斯特女王大学CSC4006课程研究项目,核心假设为单一维度代码度量无法全面反映软件真实可维护性。传统工具(如SonarQube)难以捕捉团队协作模式、代码变更频率等社会技术维度,而现代项目面临代码规模膨胀、技术债务累积、核心开发者流失等挑战。该框架创新融合三类证据源:静态代码指标(SonarQube获取复杂度、技术债务等)、Git社会技术指标(变更频率、作者集中度等)、LLM评估(纯代码判断、Git上下文增强判断等)。
章节 03
LLI-Bench采用模块化设计,包含四个工作流:
章节 04
框架围绕五个核心研究问题构建:
章节 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运行重构研究)。
章节 06
章节 07
局限性:依赖外部服务(SonarQube、LLM API)、大规模分析资源需求高、LLM评估成本、结果需结合人工判断; 展望:随LLM能力提升,框架将更精准实用,开源发布为学术与工业界探索奠定基础。