基于变更历史的软件演化分析及预测的研究

来源 :中国科学院大学 | 被引量 : 0次 | 上传用户:xjl121121
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件在使用的过程中新的需求不断出现、使用环境不断变化、修复使用中发现的缺陷以及新技术的出现,软件通过演化来适应外在环境和内在需求的不断变化,软件的演化是不可避免的,演化也成为软件生命周期中的不可或缺的部分。采取适当的策略,有效地实施和管理软件的变更是软件演化领域的关键问题。软件的日趋开放和快速演化,使得软件资产库中的历史数据和文档规模越来越大,这给软件演化的经验研究带了新的挑战和问题:如何全面系统地了解软件演化的过程并获取历史的经验和教训,以及及时分析评估软件演化的趋势和可能性。  为了解决上述问题,本文提出了一种API文档演化分析的方法,系统和定量地对API文档演化进行了经验分析,给出了API文档演化的分类,并发现API文档演化容易被忽视并且可能导致程序发生缺陷。研究发现能够帮助开发人员理解API文档的演化,提高API软件库维护的质量和效率。本文从演化的发生位置、对象、涉及角色及原因四个方面建立基于演化内容的度量体系,并以此为基础针对闭源商业软件的需求演化进行了经验研究,研究案例表明该度量体系能够有效描述软件演化的特征、监测并发现软件在演化过程中可能存在的问题。本文对软件的演化历史建模,提出了一系列能够表示工作制品历史演化程度的度量元,并以此为基础对Android开源操作系统的源码演化进行了经验研究,研究案例发现了仅有少部分频繁变更、近期变更过的源码更容易发生变更等开源软件演化的特征,研究发现有助于开源社区的项目成员识别组件的易变性及改进开源软件的维护过程。基于上述经验分析的结果,本文提出了一种降低软件演化分析工作量的方法,该方法基于已定义的演化历史度量元,利用逻辑回归技术建立软件演化的预测模型,研究案例表明演化历史度量元能够用来预测未来的变更,并且达到投入13.77%的演化分析成本而发现55.2%的实际变更的预测效果,较大程度上缩减了演化分析的工作量,进而提高软件维护过程的效率。
其他文献
该文重点论述电力系统大对象(Power System Big OBject, PSBOB)的设计与实现.电力系统大对象就是面向对象技术在数据采集与监控(Supervisory Control And Data Acquisition,
该文是基于作者参加陕西美欧电信公司"AEW-2000无线网桥"产品的设计实现工作写作完成的.AEW-2000无线网桥硬件主要由三部分组成:Intersil公司的PRISM-2套片实现无线端功能、R
当前,web技术在网络上的应用日益广泛,其中使用Java的Web开发者飞速增长,J2EE已经变成Web开发的主流平台之一.但是怎样能在开发过程中减少代码重复、降低代码复杂性,提高系统
射频识别(Radio Frequency IDentification)技术是一种高效的数据采集和识别技术,被广泛应用于城市车辆身份识别。在智能交通领域,利用RFID技术实现了车辆身份识别和实时交通数
该文介绍了蓝牙技术的提出背景,蓝牙技术的特点,总结了蓝牙系统的软硬件组成和工作原理.借鉴当今较先进的通信协议软件开发流程,摒弃落后的阅读协议然后手工编码的方法,在RFC
GIS即地理信息系统(Geographic Information System),广泛应用于与地理坐标相关的几乎所有领域,而如何进行有效的空间实体信息提取则是GIS中最关键、最复杂的环节.分析与处理
随着社会信息化程度的不断深入,人们对数据存储的容量和速率需求不断提高,硬盘接口也随之而不断去陈出新。作为当前硬盘接口主流的SATA接口,由于在传输速率、抗干扰能力和连接线
该文介绍了中国银行对业务报表生成、报表管理、报表检索与存储等方面的需求,将工作流管理技术、数据挖掘技术和分布式数据库技术相结合,设计并实现了基于工作流和数据挖掘技
该论文提出了用描述性语言来描述一个应用程序的用户界面的全新思想.论文首先提出了用XML语言来描述一个应用程序的用户界面的思想,定义了以XML为基础的XGDL界面描述语言.然
该论文详细阐述了安全、稳定、高效的全热线电脑彩票商务系统所应采用的软件架构、硬件架构、网络架构.在软件系统的开发过程中我们运用了面向对象的分析设计方法,以UML为建