论文部分内容阅读
随着互联网技术的发展,开源软件已经已经在全世界的范围内大获成功,开源软件在越来越多的领域扮演了相当重要的角色。同时开源软件的高稳定性已经成为了现代开源软件一个极为重要的要求,但是在一方面,我们可以看到,随着软件的复杂性不断的日益变高,开源软件的安全性问题一直收到了大众的关注。另一方面,开源软件规模巨大、分布广泛,这使得提高开源软件安全性能面临着巨大的挑战,为了应对这一挑战,文本展开了以下工作:(1)研究了基于SonarQube的软件开发人员代码质量现状。由于静态代码分析工具的成本低、易操作、不依靠软件代码的运行环境等优点受到了相应软件开发人员的喜爱。本文基于SonarQube这一个综合的静态代码质量分析平台,首先详细介绍了其技术背景和使用方法,然后在基于SonarQube的分析结果上,本文对一个开源项目中的所有软件开发人员所贡献的代码质量进行了代码质量分析,然后统计分析了相应的软件开发人员所有贡献的代码质量情况。该研究全面的分析项目中不同角色的开发人员所贡献的代码质量,并且得出很多有意思的结论,并为接下来的研究做好了铺垫。(2)研究了开源软件开发过程中缺陷引入的现状。本文基于软件开发人员在开发过程中的社会性活动记录来研究开源软件缺陷引入的情况。一般开源软件的缺陷都由用户向研发人员反馈缺陷信息,或者在技术交流论坛上交流。我们基于软件开发过程中软件开发人员在提交代码时所做的申明记录分析,定位软件开发过程中软件开发人员修复缺陷时提交记录,然后基于修复缺陷的代码提交记录来追溯引入缺陷的代码提交记录和相关的代码。该研究设计了一个很好方法从软件开发人员的角度来分析缺陷的产生与消失的过程,并且取得了很好的研究成果,为接下来的研究打下了很好的基础。(3)研究了面向开源软件的代码质量问题与软件缺陷之间的关系,基于上述两个研究点的成果,本文继续深入研究了代码质量问题与软件缺陷之间的关系,在分析完引入缺陷的代码的质量和修复缺陷代码的质量后,发现了几个严重的代码质量问题往往会与软件缺陷产生同现的关系,因此我们预测这些代码质量问题很有可能形成相应的软件缺陷,在代码编写过程中必须注意这些代码质量问题。该研究旨在帮助软件开发人员从代码质量的角度来避免缺陷的产生,帮助软件开发人员写出更优质的代码,从而防止软件缺陷的产生。