中文

探索多编程语言提交及其对软件质量的影响:基于Apache项目的实证研究

软件工程 2023-11-16 v1

摘要

背景:现代软件系统(如Apache Spark)通常用多种编程语言(PLs)编写。对于涉及多种PL编写修改源文件的多编程语言提交(MPLCs)现象,目前知之甚少。目标:本工作旨在探索MPLCs及其对开发难度与软件质量的影响。方法:我们对十八个非平凡Apache项目共197,566次提交进行了实证研究。结果:(1) 最常用的PL组合包含全部四种PL,即C/C++、Java、JavaScript和Python;(2) 所有项目中9%的提交为MPLCs,且83%项目中MPLCs比例趋于相对稳定水平;(3) 所有项目中超过90%的MPLCs涉及两种PL的源文件;(4) MPLCs的变更复杂度显著高于非MPLCs;(5) 在89%的项目中,MPLCs修复的问题比非MPLCs修复的问题解决耗时显著更长;(6) MPLCs对问题重开无显著影响;(7) 经历MPLCs的源文件往往更易出bug;且(8) MPLCs比非MPLCs引入更多bug。结论:MPLCs与开发难度增加和软件质量下降相关。

关键词

引用

@article{arxiv.2311.08424,
  title  = {Exploring Multi-Programming-Language Commits and Their Impacts on Software Quality: An Empirical Study on Apache Projects},
  author = {Zengyang Li and Xiaoxiao Qi and Qinyi Yu and Peng Liang and Ran Mo and Chen Yang},
  journal= {arXiv preprint arXiv:2311.08424},
  year   = {2023}
}

备注

Preprint accepted for publication in Journal of Systems and Software, 2022. arXiv admin note: substantial text overlap with arXiv:2103.11691