开源软件生态系统中交替修改度量方法及工具实现

来源 :武汉大学 | 被引量 : 2次 | 上传用户:raylet
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件技术的飞速发展和人们日益高涨的编程热情,开放、灵活、高效的社区群体开发方式得到了全世界的认可和普及,大量汇集了群体智慧的优秀开源软件涌现出来并被广泛应用。在这样的发展趋势下,众多的项目参与者之间相互协作、利益彼此关联,逐渐形成了各种“开源软件生态系统”。由于开源软件生态系统的规模庞大,参与者活动关系复杂,开发者能力参差不齐,各方利益需求不同,极易在演化过程中采用一些折中欠佳的解决方案,由此将可能导致开源软件中技术债务的累积。同时,由于开发者共享对开源代码的所有权,使得大部分的源代码都被不同的开发者不定期地以交替地方式修改过,这对于后来的开发者而言,势必需要花费更多的精力去理解由其他人修改过的代码,可能会造成理解上的偏差,而引入了更多的质量问题。鉴于当前在开源软件项目层级上有关多开发者修改源代码对软件质量影响多是经验性的研究工作,缺少对开发者活动关系的深入剖析,没有充分考虑到不同开发者以交替地方式修改源代码将可能引入更多的缺陷和技术债务等问题。与此同时,技术债务作为一个理解软件质量和可维护性的新角度,目前可用于识别度量软件技术债务水平的方法十分有限。因此,迫切需要一个行之有效的方法定量地探究开源软件中多开发者交替修改源文件对软件质量的影响,并在一定程度上指示项目潜在的技术债务程度。针对以上研究的局限性,本文首先详细介绍了用于衡量开源软件交替修改程度的度量方法,然后设计并实现了一个可用于分析计算开源软件中源文件交替修改指标和缺陷密度的可扩展性工具,接下来遵照本文设计的一套严谨的实验流程做了大规模的案例实验。为了避免实验结果的偶然性,本文以Apache开源软件生态系统中10个大型的Apache开源项目为实验对象,充分利用GitHub和Apache问题跟踪系统提供的项目提交记录、完整源代码和缺陷列表等信息,使用本文所开发的工具和SPSS软件分析并验证源文件的交替修改指标与其缺陷密度的斯皮尔曼相关性。结果表明,源文件的交替修改指标与其缺陷密度之间具有显著的正向相关性,意味着在开源软件的开发过程中,如果多个开发者频繁地交替修改同一源文件,将更容易在该源文件中引入缺陷以及潜在的技术债务,从而导致开源软件的质量降低、可维护性和可理解性变差。
其他文献
管道安全在国民经济和国家安全中占据重要地位,对管道安全进行监测日益重要。压电材料在土木工程健康监测领域中已有实际的应用和研究,如何利用压电材料在管道工程与实际检测
依据法规制度加强党委班子的作风建设,应当认真细化规范法规制度,把完善制度机制作为重要途径;严格落实法规制度,把提高法规制度执行力作为根本保证;发挥法规制度威力,把破解
我国高等教育经过最近几十年的大力发展,已经取得了较好成绩。行政管理工作在高校各项工作中既处于基础地位,又显得异常重要。就目前的情况而言,我国高校特别是地方高校行政
目的探讨改良式胃管置入法在急诊科患者中的应用效果。方法将2012年1-7月需置入胃管的129例急诊科患者按随机数字表法分为改良式胃管置入组(n=68)和常规置管组(n=61),比较两
目的:建立HPLC法测定重楼中4种甾体皂苷的含量。方法:采用色谱柱为Thermo BDS Hypersil C18(250 mm×4.6 mm,5μm),流动相为乙腈-水梯度洗脱,流速0.8 ml·min-1,检测波长为205
自古以来,妖怪或者怪异现象的出现一直都与人类的生活有着密不可分的联系。现在,有关于妖怪的研究已经被学术界视作研究人类问题的一种捷径,越来越多的研究人员都试图通过对
《尔雅》是中国现存最古老的词典,也是一部百科性质的辞书。作为《尔雅》的一个篇章,《尔雅·释亲》篇具有《尔雅》作为辞书的语言简洁性和内容系统性等特点。同时《尔雅·释
分析了采煤机的常见故障,介绍了常用的采煤机故障诊断的神经网络方法:BP网络、ART网络和RBF网络。详细介绍了这几种网络的结构、信息传递模式、训练和工作的方式以及适用范围
戴望舒的文学思想是复杂的,它往往是个人成长因素、时代因素等的合力,但我们也不可否认地域文化在诗人个人的性情、气质、审美偏好形成中所起的作用,因为人是不可能割裂其生长环境而成长的。按照皮亚杰的“发生认识论”,人在学习新知识的过程中,必然是在原有心理基础上进行的,而吴文化积习形成的习惯性心理即是诗人戴望舒进行诗歌创作原生的审美动力与底色源泉,因此戴望舒的诗歌创作在很大程度上带有吴文化色彩。但目前,有关
QR码技术具有信息容量大,超高速识读能力强,可靠性、保密性、防伪性和安全性较高等优点,其在图书馆得到了越来越广泛的应用,并逐渐成为图书馆服务的重要辅助手段。本文首先在