Log4J
收藏资源简介:
Background: This paper describes an analysis that was conducted on newly collected repository with 92 versions of 38 proprietary, open-source and academic projects. A preliminary study performed before showed the need for a further in-depth analysis in order to identify project clusters. <br> Aims: The goal of this research is to perform clustering on software projects in order to identify groups of software projects with similar characteristic from the defect prediction point of view. One defect prediction model should work well for all projects that belong to such group. The existence of those groups was investigated with statistical tests and by comparing the mean value of prediction efficiency. <br> Method: Hierarchical and k-means clustering, as well as Kohonen’s neural network was used to find groups of similar projects. The obtained clusters were investigated with the discriminant analysis. For each of the identified group a statistical analysis has been conducted in order to distinguish whether this group really exists. Two defect prediction models were created for each of the identified groups. The first one was based on the projects that belong to a given group, and the second one - on all the projects. Then, both models were applied to all versions of projects from the investigated group. If the predictions from the model based on projects that belong to the identified group are significantly better than the all-projects model (the mean values were compared and statistical tests were used), we conclude that the group really exists. <br> Results: Six different clusters were identified and the existence of two of them was statistically proven: 1) cluster proprietary B – T=19, p=0.035, r=0.40; 2) cluster proprietary/open - t(17)=3.18, p=0.05, r=0.59. The obtained effect sizes (r) represent large effects according to Cohen’s benchmark, which is a substantial finding. <br> Conclusions: The two identified clusters were described and compared with results obtained by other researchers. The results of this work makes next step towards defining formal methods of reuse defect prediction models by identifying groups of projects within which the same defect prediction model may be used. Furthermore, a method of clustering was suggested and applied.
研究背景:本文针对新采集的软件项目代码仓库开展分析,该仓库涵盖38个商业专有、开源及学术项目的共计92个版本。此前的初步研究表明,需开展进一步的深度分析以识别项目集群。 研究目标:本研究旨在对软件项目开展聚类分析,从缺陷预测视角识别具备相似特征的软件项目群组,且针对该群组构建的缺陷预测模型可在组内所有项目上取得良好的预测效果。本研究通过统计检验及对比预测效率均值的方式,对这些群组的存在性进行了验证。 研究方法:本研究采用层次聚类(Hierarchical clustering)、k-means聚类及科赫农神经网络(Kohonen’s neural network)识别相似项目群组。针对得到的聚类结果,通过判别分析开展进一步验证。为验证各识别出的群组是否真实存在,针对每个群组开展了统计分析:为每个识别出的群组构建两款缺陷预测模型,第一款基于该群组内的项目,第二款基于全部研究项目。随后将两款模型分别应用于目标群组的所有项目版本。若基于目标群组项目构建的模型预测效果显著优于基于全项目的模型(通过对比均值并开展统计检验验证),则可判定该群组真实存在。 研究结果:本研究共识别出6个不同的项目集群,其中2个集群的存在性得到了统计检验的证实:1)专有项目集群B——T=19,p=0.035,r=0.40;2)专有/开源混合集群——t(17)=3.18,p=0.05,r=0.59。根据科恩(Cohen)效应量基准,本次得到的效应量(r)均属于大效应水平,为具有重要学术价值的研究发现。 研究结论:本研究对识别出的2个集群进行了描述,并与其他研究者的相关成果进行了对比。本研究通过识别可复用同一缺陷预测模型的项目群组,为构建可复用缺陷预测模型的标准化方法迈出了关键一步。此外,本研究还提出并应用了一套软件项目聚类分析方法。



