欢迎来到天天文库
浏览记录
ID:32184305
大小:4.11 MB
页数:39页
时间:2019-02-01
《开源软件库中文件修改的统计特性分析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、第2页武汉科技大学硕士学位论文1.2国内外研究现状对软件缺陷预测问题的研究是从二十世纪七十年代开始的【剐。该研究主要根据统计学知识,通过分析历史数据和已发现的缺陷数据来预测软件缺陷的数量等[91。这种通过统计软件系统中的缺陷数量和未发现但可能存在的潜在缺陷数量,并以此为标准来判断软件系统是否能投入工程应用中的方法,为软件测试工作提供了比较客观的评判依据,对软件质量的提高起到了重要的保证作用。随着相关理论的不断成熟,软件缺陷预测技术得到了巨大的发展【l01[111,同时也极大地推动了软件工程技术的进步。一般说来,软件缺陷预测技术可以简单地划
2、分为静态预测和动态预测【121。其中静态缺陷预测技术主要是对软件以及开发环境等基于缺陷相关的数据来预测缺陷的分布情况;而动态缺陷预测技术基于时间维度,以时间分布为标准来预测缺陷与出现时间之间的分布关系。在静态缺陷预测技术方面,Akiyama首先明确了软件缺陷和代码行的关系【131。Halstead则进一步探讨了缺陷和软件体积度量元的关系。随着软件规模的不断增大,软件的开发难度、维护难度和缺陷数量均在攀升。人们开始意识到影响软件缺陷的不仅仅是软件规模,软件复杂度也会提升软件的缺陷率,期间诞生了著名的McCabeCyclomaticCompl
3、exityMetric【l41。该复杂度度量能够将软件拓扑结构的复杂性进行量化,并且能够依据相关指标对复杂度进行分类,使其得到广泛使用。随着研究的深入,人们通过获取缺陷与软件产品度量数据,采用回归或分类技术进行软件缺陷分布问题的研究。研究结果表明,软件模块中缺陷的分布遵守2-8原则。为了识别包含大量缺陷的少量模块,需要分类法和回归分析法来判断。较为典型的有Khoshgoftaar等人提出的一种利用多元回归分析对软件质量进行预测建模的技术【l51116]。而动态预测方面则有Rayleigh模型【l‘71、指数分布模型u驯和S曲线分布模型【l
4、9I。软件缺陷预测技术经过长期发展,各种方法之间并没有相互孤立,而是与其他方法不断融合创新。近年来,伴随着数据挖掘技术和开源软件的蓬勃发展,通过挖掘开源软件库并分析程序的变化规律,用来预测潜在的软件缺陷是近年来软件缺陷研究的一个热点120】【2l】【2到。Illes—Seifert等通过研究9个Java开源项目,发现类文件的修改次数是预测软件系统缺陷数目的一个良好指标【231,随后Li等人根据开源软件版本更新特点构造其可靠性模型,实验结果表明相比较于传统的软件可靠性模型【2训,该模型能更加准确地描述失效过程,不会出现高估开源软件的可靠性的
5、现象;Kagdi等人则将信息检索技术与源代码的提交信息相结合,提出了一种分析变化影响的混合方法【251。Gousios等人利用开发人员提交到SVN代码库的类文件代码行来评估软件开发工作量;Schuler等则通过挖掘软件版本信息库中的特定文件来建立文件专家信息库。1.3论文的工作和组织结构基于上述研究,本文将研究的重点着眼于挖掘开源软件数据库的相关信息,提取类文武汉科技大学硕士学位论文第3页件修改量的相关数据,进行统计学分析,得出类文件的修改与潜在的软件缺陷的关联,为进一步探索软件缺陷奠定理论基础。章节安排如下:第一章论文的绪论部分,主要介
6、绍当前软件缺陷预测的背景和研究热点,论述相关研究工作。第二章重点介绍开源软件及开源软件库的定义,并结合数据挖掘的概念,介绍了常用的开源软件库的数据挖掘方法,为后续实验提供理论基础。第三章引入SVN库和类文件版本的概念,并深入介绍了开源软件库中数据的获取和类文件修改量的定义,通过详细分析类文件修改量与类文件的演化规律,回答“类的修改次数具有某种统计特征还是随机的";系统研究该指标与代码行和依赖的类的个数(如Java中import的类、C++中include的类的数目)2个简单度量指标的关系,回答“修改次数越多的类在功能和结构上具有何种特征’
7、’问题(问题2);最后,挖掘类文件的相邻版本间内容变化(以代码行为单位)的规律,回答“频繁修改的类的相邻版本间内容的修改量是否具有统计规律"问题(问题3)。该工作将有助于加深开发者对类的演化过程的认识,并有望更好地揭示开源软件库中类的修改行为与软件缺陷间的关系,为进一步的缺陷预测奠定研究基础。第四章引入缺陷信息管理系统,探讨什么是类文件的异常修改,这种异常修改与时间和软件版本又有什么关系。迸一步,研究了异常修改与软件缺陷之间的关联,发现了软件工程中的“赶工现象”。第五章对完成的工作进行总结,并对未完成的工作和遗留问题作相应的展望。第4页武
8、汉科技大学硕士学位论文武汉科技大学硕士学位论文第5页第二章开源软件库的数据挖掘综述本章首先介绍开源软件和软件库的背景知识,接下来结合数据挖掘的相关概念,论述开源软件库的数据挖掘方法。为后续实验
此文档下载收益归作者所有