应对SonarQube Cloud:一项软件仓库挖掘研究的初步结果
软件工程
2025-08-27 v1
摘要
背景:静态代码分析(SCA)工具被广泛采用以强制执行代码质量标准。然而,关于开源项目如何使用和定制这些工具,我们知之甚少。目的:本文研究GitHub项目如何使用和定制一个流行的SCA工具,即SonarQube Cloud。方法:我们对通过GitHub Actions连接到SonarQube Cloud项目的GitHub项目进行了一项挖掘研究。结果:在321个使用SonarQube Cloud的GitHub项目中,81%正确连接到了SonarQube Cloud项目,而其他项目则存在配置错误或访问受限。在265个可访问的SonarQube Cloud项目中,75%使用组织的默认质量门,即已部署源代码必须满足才能通过自动检查的一组条件。虽然55%的项目使用SonarQube Cloud提供的内置质量门,但45%的项目使用不同条件定制了其质量门。总体而言,最常见的质量条件符合SonarQube Cloud的“边编码边清理”原则,并对新增或修改的源代码强制执行安全性、可维护性、可靠性、覆盖率以及少量重复检查。结论:许多项目依赖预定义配置,但仍有相当一部分项目定制其配置以满足特定的质量目标。基于我们的初步结果,我们设想了一个未来的研究议程,将质量门配置与实际软件成果(例如,软件安全性的改进)联系起来。这将为在各种环境中配置像SonarQube Cloud这样的SCA工具提供基于证据的建议。
引用
@article{arxiv.2508.18816,
title = {Dealing with SonarQube Cloud: Initial Results from a Mining Software Repository Study},
author = {Sabato Nocera and Davide Fucci and Giuseppe Scanniello},
journal= {arXiv preprint arXiv:2508.18816},
year = {2025}
}
备注
Accepted for ESEM25 NIER track