开源软件模式的演化规律与重构统计特性研究

开源软件模式的演化规律与重构统计特性研究

ID:25484086

大小:50.00 KB

页数:4页

时间:2018-11-20

开源软件模式的演化规律与重构统计特性研究_第1页
开源软件模式的演化规律与重构统计特性研究_第2页
开源软件模式的演化规律与重构统计特性研究_第3页
开源软件模式的演化规律与重构统计特性研究_第4页
资源描述:

《开源软件模式的演化规律与重构统计特性研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、开源软件模式的演化规律与重构统计特性研究1引言在SVN代码库中,文件的版本号采用的是项目整体编号方式,即整个库中的文件从版本号0开始,在某个文件的任意修改被提交(mit)后,版本号会自动加1,来标识该文件的新版本。Hattori等人发现,在开源软件项目中每次提交的文件的数目符合Pareto分布,大规模文件的提交与项目新功能的开发紧密相关;Hindle等人则发现,与少量文件的提交相比,大规模文件的提交更倾向于对项目进行完善(如修改系统的架构)而不是纠错。上述研究从开发者提交行为的角度来探索开源软件系统的演化规律

2、,对于系统重构、项目维护等活动具有重要的指导意义。另一方面,从SVN代码库中挖掘并分析程序的变化规律,用以预测潜在的软件缺陷和对整个项目可能产生的影响,是近年来软件库挖掘研究的一个热点。Illes-Seifert等人分析了9个Java开源项目,发现类文件的修改次数是预测其缺陷数目的一个良好指标,随后等人根据开源软件版本更新优化策略构造其可靠性模型,实验结果表明该模型描述失效过程更加准确,而传统的软件可靠性模型则高估了开源软件的可靠性;Kagdi等人将源代码的提交信息与信息检索技术相结合,提出了一种分析变化影响

3、的混合方法,在5个开源软件系统中都取得了良好的效果。基于上述研究,本文将对面向对象开源软件库中类文件的修改次数进行案例分析,回答类的修改次数具有某种统计特征还是随机的问题(问题1);系统研究该指标与代码行和依赖的类的个数(如Java中import的类、C++中include的类的数目)2个简单度量指标的关系,回答修改次数越多的类在功能和结构上具有何种特征问题(问题2);最后,挖掘类文件的相邻版本间内容变化(以代码行为单位)的规律,回答频繁修改的类的相邻版本间内容的修改量是否具有统计规律问题(问题3)。该工作将

4、有助于加深开发者对类的演化过程的认识,并有望更好地揭示开源软件库中类的修改行为与软件缺陷间的关系,为进一步的缺陷预测奠定研究基础。余下部分,第2节介绍了案例分析所用到的2个开源软件系统以及实验流程和主要方法;第3节针对提出的3个问题进行系统分析,并依据软件工程原理解释得到的结果;最后,第4节总结全文并给出今后的研究工作。2实验数据及流程2.1数据收集选取了Apache软件基金会(ASF)资助的2个典型的开源软件项目:ApachePOI和Tomcat。其中,ApachePOI是一个开放源码函数库,提供应用编程接

5、口API(ApplicationProgrammingInterface)给Java程序对MicrosoftOffice文档和OpenOfficeXML(ECMA-376)格式文件进行读写操作;Tomcat是一个Servlet容器,遵循SunMicrosystems提供的技术规范,实现了对Servlet和JavaServerPag(eJSP)的支持。实验系统的基本信息如表1所示。为验证案例分析结论的普遍性,在附录中我们还提供了另外2个开源软件系统的实验结果。..................4结束语SVN是

6、目前开源软件项目常用的版本控制工具,本文主要是对面向对象软件的SVN代码库中类文件的修改规律、修改次数与类的结构和功能的关系进行了探讨。以开源软件ApachePOI和Tomcat作为案例,发现了如下有趣的现象:1)类的修改次数大致服从幂率分布,即大多数的类只被修改了数次,而少数类则被修改了上千次;2)在不断的修改过程中,类的功能和(依赖)结构倾向于变得更复杂,即修改次数与代码行数和导入类的个数呈明显的正相关性,符合Lehman的软件演化规律,也从另一个角度验证了该原理的有效性和合理性;3)对于修改次数较多的类

7、,其相邻版本间内容的修改量也大致服从幂率分布,即大多数相邻版本间的内容修改量都只有短短几行,而少数则有大量的内容改动。上述发现将为研究类的演化规律、重构时间点的选择以及维护任务的分配等提供新思路。进一步的工作包括挖掘Bugzilla中相关项目的缺陷信息,结合相邻版本间内容修改的统计规律,来对变化耦合(changecoupling)的传播进行建模和评估,以期提出更有效的缺陷预测模型。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。