抽象性

源码管理系统(如并发版本系统、子转换和git)记录开源软件项目代码存储器修改研究探索模糊数据挖掘算法时间序列数据生成关联规则评价开源软件项目演进中的现有趋势与规律性选择模糊数据挖掘算法用于时间序列数据的想法是由于开源软件开发过程的随机性委托开源项目表示开发圈的积极性活跃开发社区对开源项目的成功有强大的促进作用活动分析与开源软件项目执行趋势与规律分析一道,成为项目管理员和分析师未来进化前景的重要指标

开工导 言

理解软件演化泛泛化和开源软件演化最近引起广泛兴趣各种研究从增长等不同观点分析OSS项目演化一号质量2和分组动态3..然而,对OSS项目中的委托活动有一些研究。委托指开发者通过源码管理系统提交源码实体修改单片机系统,如Subversion和git4管理OSS系统源码文件并维护每次修改日志委托文件委托是OSS开发方法的一项重要活动OSS开发者大都自愿,OSS项目的成功主要取决于开发者的承诺活动5..提交活动指与项目成功性有进一步关联的项目活动6,7..OSS项目利益攸关方,如项目管理员、开发商和用户对未来变化行为感兴趣分析OSS项目的承诺活动查找趋势并规范进化帮助显示项目未来变化行为并帮助决策项目使用和管理

OSS开发是一个随机过程与控制环境的传统开发不同,OSS开发基础是志愿者的贡献,即使某些事对项目具有高度优先性[一号..与这种无计划活动并发的同时,缺少与需要和详细设计有关的规划文档8..经典时间序列技术不适合分析和预测随机变量数据8,九九..模糊时间序列可用于不确定域

OSS项目委托量测量5..克默勒屠宰九九和Mockus和Votta10.强调单片机系统(如gitsssystem)中的承保4)可用作研究OSS系统演化的尺度,这些研究也激励我们选择每月承载数作为分析和预测软件演化的尺度

在这次研究工作中,Chen et al建议混合法[11和数据挖掘算法并用 生成时间序列数据语言规则中11en等指定查找应用算法并验证为未来工作本研究将这两个问题都视为目标之一在这次拟议工作中,我们将考虑时间序列数据集划分为两个数据子集,即训练集和剩余集我们先使用算法从训练集生成关联规则,然后验证剩余集规则的精度和预测能力高预测精度表示剩余集中的委托有规律性并趋势化EclipseCDT承载数低预测精度规定剩余集承诺与培训集不相容,并有异常和异常性

本研究的主要目标是探索模糊数据挖掘方法时间序列生成关联规则评价OSS项目演进中的现有趋势和规律性委托活动很好地显示OSS项目的持续开发活动,目前工作的另一个目标是为OSS系统开发委托预测模型。项目管理员、开发商和用户可使用承诺预测模型理解OSS项目未来投入活动,并按作用规划调度并相应分配资源

其余论文如下段内2介绍相关研究软件进化和废数据挖掘技术段内3解释研究方法段内4详细介绍实验搭建执行研究段内5提供结果分析威胁结果有效性解析6.最后一节结束论文

分析和预测软件进化思想最初观察于1980年代末期,当时元在一系列软件维护大会上发表论文12-14..时间序列分析技术 软件进化预测后数项研究使用时间序列分析预测软件进化软件进化度量预测包括月数修改8,九九修改请求15,16大小复杂17,18号缺陷19号,20码克隆21号并维护努力22号..

克默勒屠宰九九研究两种专有系统演化使用两种方法:一种基于时间序列分析(ARIMA),另一种基于技术序列分析发现ARIMA模型不适宜分析,因为数据集基本随机性Antoniol等[21号介绍一种方法来监控并预测软件克隆跨软件系统后续版本的演化mSQL时间序列分析

Caprio等[17时间序列分析估计Linux内核的大小和复杂性ARIMA模型预测Linux内核进化

Herraiz等[8s存储器Eclipse月数修改应用基于时间序列分析的文具模型模型预测下三个月每月变化数内核滑动减少噪声,从Kemerer屠宰中吸取教益九九研究谁无法获得ARIMA模型的良好结果预测数变化,因为它们忽略数据中的噪声

Kenmei等[16应用ARIMA模型预测大开源项目单位变化请求三大开源项目Mozilla、JBoss和Eclipse确认方法有效预测和识别趋势的能力ARIMA模型几乎总比线性回归或随机步行等简单模型预测精度强16..Kenmei等选择基准模型[16评估ARIMA模型预测精度不严格

Raja等[20码时间序列分析八大开源软件项目五年并发现ARIMA模型对缺陷预测有用Kläs等[19号时间序列分析综合专家意见生成缺陷预测模型显示混合模型比数据模型在项目生命周期初级阶段强

Goulão等[15时间序列技术长期预测修改请求总数研究ARIMA模型是否适宜预测Eclipse等有季节模式项目所有更改请求的长期波动发现ARIMA模型从统计学上看比非季节模型重要并优于非季节模型

Amin等[23号使用ARIMA模型取代软件可靠性增长模型预测软件可靠性SRGM对分析软件环境有限制性假设ARIMA建模远比SRGM方法好,因为ARIMA面向数据并覆盖前方法的所有限制

对现有该领域研究的观察显示ARIMA建模是最常用预测程序OSS开发是一个随机过程与控制环境的传统开发不同,OSS开发基础是志愿者的贡献,即使某些事对项目具有高度优先性[一号..与这种无计划活动并发的同时,缺少与需要和详细设计有关的规划文档8..

开源项目没有严格组织支持,面临许多不确定性不确定性存在于不受控制开发环境中,如随时提供贡献者因不确定性,连续值有很大波动(图中EclipseCDT月委托数据显示)一号)经典时间序列技术大都不适合分析和预测含有不确定性的数据[8,九九..研究文献还显示,ARIMA建模在数据不确定时有用,但只有在应用平滑来减少噪声[24码..

Hong等[25码引入模糊数据挖掘算法量化值算法从数据库提取实用知识并量化值算法把模糊集概念同Apriori算法合并

Chen等[11扩展洪等人的工作分析时间序列数据模糊数据挖掘算法并同时使用数据挖掘Apriori算法生成语言关联规则使用模糊成员函数转换时间序列数据为模糊集并应用Apriori算法生成关联规则并指定验证和查找应用算法为未来工作继续工作后, 我们使用算法分析开源软件项目实战活动 以查找OSS项目实战活动 中的规律性趋势

Suresh和Raimond26扩展陈等人的工作[11..新算法称为扩展模糊频繁模式算法分析时间序列数据关联规则生成时不生成候选集

本文使用模糊数据挖掘法时间序列11分析开源软件项目中的委托活动本研究旨在解答的研究问题有:(1)分析OSS项目执行活动查找趋势与规律性;(2)验证OSS项目数据模糊数据挖掘算法

3级方法论

实验研究的目的是调查模糊数据挖掘法的适切性,分析软件系统进化查找规律性趋势时每月承载数本节描述数据收集过程、模糊时间序列基本概念和模糊数据挖掘法

3.1.资料收集

开源软件项目开发存储库取自GIT枢纽27号..存储器通过使用GITBash将原存储器克隆下载到本地机上4..JAVA脚本获取所有软件项目观察周期每月委托数描述性统计所有软件项目开发库见表一号.

Eclipse报28码综合开发环境Eclipse基础工作空间和可扩展插件定制开发环境JAVA、C/C++、COBOL和PHP等不同语言使用插件开发应用EclipseSDK和EclipseCDT两个变量以开发应用为名EclipseSDK与JAVA兼容并用JAVA开发商用于Eclipse平台建设项目EclipseCDT提供C/C++开发工具29..EclipseCDT允许使用Eclipse开发C/C++应用EclipseCDT提供各种特征30码诸如全功能编辑器、调试器、重构因素、解析器和索引研究中我们只考虑EclipseCDT从2002年6月27日到2013年9月23日每月承付数排列成时序(136个月)一号.

3.2模糊集论和模糊时间序列基础

模糊集概念由Zadeh介绍31号1965年扩展经典集理论模糊集特征为成员级函数31号..成员函数可有多种形式,例如三角形 功能化 函数和陷阱分解函数使用视应用和需求而定本研究同时使用 成员函数定义模糊变量值

3cm3优先算法

优先算法32码,三十三经典算法Srikant和R1994年Agrawal查找频繁模式生成关联规则Apriori使用迭代方法称为层次搜索 -项目应用探索 集成项目

Apriori算法分两步执行优先取回所有常客项,支持小于最小支持(min_sup)。第一步深入化归并裁剪动作加入后,候选集 编译编译 并发自内心运算时,应用优先属性对候选组切分即常用项集所有非空子集也必须频繁使用

伪代码生成常用项如下: :候选项目集大小 频繁项目集大小 1-项集面向 生成 ; 支持大于或等于分钟支持; ;返回 ;

下一步使用常用项生成强联通规则满足最小置信度阈值伪编码生成强联想规则如下:输入量 :频繁项集 最小置信阈值Min_conf输出 :强联想规则 常见项集 非空子集s ifconf-Min_conf 生成强关联规则 R=. ...

3.4.模糊数据挖掘算法时间序列数据

Chen等[11扩展洪等人的工作[25码并提议模糊数据挖掘时间序列数据时间序列数据 点输入输入并预定义最小支持 最小置信度 窗口大小 .

输入数据先转换生成 数列子序列中 元素化模糊成员函数用于将每个数据项转换成等效模糊集Apriori算法用于矿场常用模糊集此外,数据稀释法用于删除冗余数据项

关联规则生成方式与Apriori算法生成方式相同渐进过程fudyApriori算法如下

输入量 :

时间序列带 数据点

成员函数值

最小支持

最小置信度

滑动窗口大小

模糊集

输出 :一套模糊关联规则

步骤1.转换时间序列数据 数列中,每一数列最大数列 元素化假设 脱机后次顺序最大5个元素子序列元素称数据变量并注明 , , , ..

步骤2.应用时间序列元素混淆成员函数生成模糊集 )

步骤3.基于成员函数和用户定义级别(假设低、中、高),转换为模糊项后的每一数据变量归结为不同用户定义级别(例如,像) , 被称为模糊项目)

步骤3.计算子序列中每个模糊项的标量基本性计数

步骤4.比较总标量基数和最小支持值值大于或等值序列 保留在 .

子序列支持值生成

步骤5.if 后退转接步 .

步骤6.加入 生成候选者 模糊项集 )类比Apriori算法,但不加入从同顺序数据点生成的项 两组数据项目相同)i)使用模糊集论计算每个候选模糊集值,即Min )二)计数每个模糊候选项集的标量基本性三)计数大于或等于 后放入 并计算支持值

步骤7if 后退转到阶梯 再一次

步骤8.清除冗余大项集(即移动每个大项集(即移位)( 插进 类似模糊区域 变迁 移位时)

步骤9.使用优先规则生成法生成关联规则并计算每项规则的信心唯一变异点是 取代正常数据项集 我们有模糊项集置信度不小于最小置信度 守规则反之拒绝

4级实验搭建

实验用86form6模型15 stepping6GealIntel~2131Mhz处理器1GBRAM、微软WindowsXP专业操作系统5.12600服务打包3built2600240GB硬盘模糊数据挖掘算法使用JAVA实现

5级结果分析

数据集划分成两个子集:培训数据集(120个月)和剩余数据集(16个月)。使用模糊数据挖掘算法生成关联规则全过程分两步执行(A)关联规则生成培训数据集使用模糊数据挖掘时间序列数据算法(B)生成关联规则验证使用培训剩余数据集完成

5.1.从培训数据集生成关联规则

模糊数据挖掘时间序列算法11应用训练数据集生成关联规则假设 , 高山市 和子序列 脱机成员函数和值显示图2.计算这些假设时参考并理解[模糊数据挖掘算法11..委托按活动层次划分承诺范围0-100、250-300和450低端,中间平均数和高位活动层次,分别委托活动水平表示在委托中完成的工作量

子序列生成 数月 (窗口大小)子序列数生成为 )数目 所有生成子序列 表格显示8公元前

数据转换为模糊集在此步骤中,我们将委托活动数据转换成模糊集(使用成员函数)并计取每个数据变量的标量基数(表显示九九公元前所有这些数据变量都被视为候选项 )代代相传 数据变量计数大于 考虑中。发现 内装 , , , , , , , , .

并用子集计算支持值

生成 .用于生成 表格显示2++ ,不连接从同顺序数据点生成的项也就是说 合并 不允许使用, 类似所有其它程序 。并用所有属性Apriori算法

下位使用 函数查找候选集的值计数每个候选集标定基数 .

最小值不小于阈值的候选模糊集 并查找支持值现在 含有表显示的模糊项3.

生成 .用于生成 加入 中不连接从同顺序数据点生成的项目以实例 中,只允许混淆集并用,两件中均至少有一数据项常用后一代 中,只有那些模糊项放入 表格显示4计数不小于阈值

生成 .加入 ,不连接从同顺序数据点生成的项目加入仅允许那些模糊集,其中至少两个数据项都常见

后一代 中发现无元素计数超过阈值正因如此 .

清除冗余大项去除冗余大项 使用阶梯 算法区域描述3.4.

应用后步 算法中,我们留有大项5)

生成关联规则使用 Step生成关联规则 算法区域描述3.4.所有生成规则显示于表6强规则计数比临界置信度标注为粗体

实验中我们使用 脱机表示只有那些规则有效(并被称为强关联规则)并有不小于65%的支持值找到了18条规则每项规则都作为项目管理员和开发者的知识库例例生成规则 指定,如果第一和第二数据点值居中间值,则第三数据点中值概率高所有这些规则都为项目管理员和分析员提供精密知识

5.2校验关联规则使用培训剩余数据集

验证培训数据集.发现EclipseCDT培训集65%的交易都遵循这些规则这些规则作用为紧凑和具体了解这些数据

剩余数据集验证.所有生成关联规则都对剩余数据集值测试,以查找受分析承诺数的规律性与趋势性以查找承载是否以相同速率执行不变速率表示Eclipse持续增长换句话说,所考虑的软件生长有变发现,在剩余集时,这些规则的适用性下降。由剩余集生成关联规则再次验证剩余数据集生成规则具体规定剩余数据集中的数据面向较低范围的承诺实现

下图显示委托率变化因子(a)剩余数据集中的大多数值面向低端范围.查找最大常用模糊项并用模糊数据挖掘时间序列数据算法从剩余数据集生成关联规则最大频繁项集显示于表7.生成频繁项数由低范围数据点组成故余数据集中的大部分承载项很可能低端.具体规定从6/2012到9/23/2013分析的承诺数目比培训数据集分析的承诺数目少说明活动少 开发 深思软件增长(b)主动用户数和文件修改数等因素较少(增删修改)。

6级讨论

模糊数据挖掘算法时间序列数据11允许高效挖掘大型数据集关联规则这些规则帮助寻找OSS项目规律性与现有趋势EclipseCDT委托活动数据存储库内的承诺与文件或代码修改、删除或修改等活动直接相关通过分析委托数据趋势,我们可以解释所考虑软件开发或演化活动在上述实验中,原数据集划分为两个子数据集(培训数据集和剩余数据集)。

培训集生成关联规则可分析OSS项目规律性与趋势这些规则还帮助预测和分析EclipseCDT未来演化或开发活动生成规则验证剩余数据集以查找其可应用性发现这些规则对剩余集减的适用性算法结果显示剩余数据集的委托活动低端活动范围可能还有其他因素也是行为下降原因可能包括主动用户数和文件变换数等因素(增删修改)

7威胁有效性

本节讨论威胁研究有效性

构造有效性威胁涉及理论与观察之间的关系这些威胁可能主要归因于我们承担修改控制工具所发布的所有承诺git系统[4..源码中的任何修改,但不登录工具,可能不成为研究的一部分

内部有效性涉及主体系统选择和分析方法本研究使用月度算单位跟踪变化活动类型未来,我们希望使用基于OSS项目大/小版的自然和洞察分治分析OSS项目变化活动主体系统选自公共存储器,但选择偏重项目有效git系统仓库

外部有效性问题涉及结果的泛泛化未来,我们想通过考虑增加OSS项目数目提供比较泛化的结果。

可靠性有效性问题涉及复制研究的可能性主体系统公共领域可用实验过程所有细节都写进论文

八点八分结业和未来工作

开源软件开发存储库中可用的承诺活动数据可用于分析OSS项目演化,因为每项承诺都直接与发展活动相关,例如代码删除、添加、修改、注释和文件添加EclipseCDT委托数据分析查找委托数据中的规律性趋势模糊数据挖掘算法时间序列数据用于从数据集生成关联规则数据集划分成两个子集(培训剩余数据集)评价EclipseCDT演化模式

应用验证培训数据集生成关联规则后发现培训数据集和剩余数据集实施率不同由剩余集生成关联规则再次验证剩余数据集生成规则具体规定,考虑余数据集中的数据更接近较低承诺范围i验证规则从培训数据集生成

关联规则显示EclipseCDT整体承诺面向中间范围除末端发现变异外,极概率低点范围.EclipseCDT存储库的持续可用性与存在性说明EclipseCDT开发或演化活动中间区域尾端接近低点范围.未来,我们想考虑任何预测算法 和模糊数据挖掘算法概念 时间序列数据预测

附录

参表8九九.

竞技兴趣

作者声明他们没有竞技兴趣