When to Use Data from other projects for effort estimation

advertisement
When to Use Data from
Other Projects for Effort Estimation





引言
相关知识
实验方法
实验结果
讨论
2
引言
引言
应用情况:当一个项目的内部数据不足以用来做工作量估算
时,使用其他项目的引进数据。
数据来源:PROMISE repository [软件工程中的预测模型]
类似做法:软件缺陷检测
结果:表明假定在估算之前将相关过滤器应用到数据里,使
用跨项目数据和使用项目内部的数据来做估算的估算
精度差不多
相关知识
相关知识
cross project/data
within project/data
类比估算(analogy-based estimation methods,ABE0):
通过把新项目和过去类似项目做比较来对新项目进行准确的工作量
估算。
相似度计算:
n
distance  ( x  y ) 2
i
i
i 1
相关知识
ABE0:
1. 利用过去的项目建立训练集
2. 训练集中包含自变量和因变量,其中自变量是值定义
项目的特征,因变量是指工作量
3. 决定使用多少个相似项目(analogies)来进行一个新
实例的估算,即k-values
4. 对于每个新的测试实例,从训练集中找出k个相似项目
① 在选择相似项目的过程中,使用一种相似性度量
② 在计算相似性之前,给每个自变量设定一个权重
5. 使用最相近的k个相似项目来估算工作量
相关知识
Feature1 Feature2
……
FeatureN Effort value
Project1
Project2
……
ProjectK
independent variables(自变量): the features that define projects
dependent variables(因变量) : the recorded effort value
相关知识
ABE0+Relevancy Filtering:
 Step1 removes the training instances implicated in poor
decisions;
 Step 2 selects those instances nearest the test instance.
4/13/2015
相关知识
ABE0+Relevancy filtering:
ABDEFGH
AB
A
DE
B
D
FGH
E
FG
F
H
G
相关知识
ABE0+Relevancy filtering:
The variance of the effort values in each sub-tree (the
performance variance) is then recorded and normalized to a
0-1 interval.(将差异归一化)
Step one prunes all sub-trees with a variance greater than
10% of the maximum variance seen in any tree.(剪枝)
ABDEFGH
AB
A
DE
B
D
FGH
E
FG
F
H
G
用方差作为决策准则(decision criterion)
IF 当前树的差异>其子树的差异
继续向下移动
ELSE 用当前树的实例作为相关实例,并用此子树做估算
FGH
FG
F
4/13/2015
H
G
实验方法
实验方法
数据源: Nasa93、 Cocomo81、 Desharnais
dataset(X)
Nasa93
subset(Xi)
instance
Nasa93c1
Instance 1,……,
instance k
Nasa93c2
Nasa93c5
Coc81o
Cocomo81
Coc81e
Coc81s
DesL1
Desharnais
DesL2
DesL3
4/13/2015
实验方法
判断条件1-Mann-Whitney test
判断条件2
win
Significant different
Lower MRE
loss
Significant different
Higher MRE
tie
Not Significant different
曼-惠特尼U检验(Mann-Whitney test) :
它假设两个样本分别来自除了总体均值以外完全相同的两个总
体,目的是检验这两个总体的均值是否有显著的差别。
实验方法
For within experiments
Leave-one-out method:在Xi的n个实例中选一个实例作为测
试集,其他n-1个实例作为训练集。
相关过滤分别应用在X1, X2和X3里,将训练集里面的中值作为测
试实例的的工作量估算值。
For the cross experiments
选择X1, X2和X3中的其中之一作为测试集(test set),剩下的两
个作为训练集( cross dataset)。
将相关过滤(relevancy filtering)应用在训练集中,将对测试集
的估算记录下来。
4/13/2015
实验方法
For within experiments:
Xi
:测试集
For the cross experiments:
:训练集
X3
X1
X2
:测试集
:训练集
实验方法
•Without Relevancy Filtering
线性回归(linear regression)模型
-Within experiment
-Cross experiment
With Relevancy Filtering
重复预测20次
-Within experiment
-Cross experiment
4/13/2015
实验方法
实验结果
实验结果
Without Relevancy Filtering
In the absence of relevancy filtering , the within datasets yield significantly
lower MRE values in majority of cases
实验结果
With Relevancy Filtering
由图可以看出,至少75%的实验两种方法(within和cross)表现相当
实验结果
With Relevancy Filtering
由图可以看出,2/3的实验中两种方法(within和cross)表现相当;但是,
用Coc81o做测试集时,within方法13次优于cross方法(原因不明)
实验结果
With Relevancy Filtering
由图可以看出,2/3的实验中两种方法(within和cross)表现相当;但是,
用DesL3做测试集时,within方法16次优于cross方法(原因不明)
讨论
讨论
图中表示每次选择的相似项目(analogies)的数目很小:均值为3
讨论
It would also lead to
(a)more accurate filtering techniques;
(b)a better understanding of the structure of software
projects including where to find data most relevant
to some current project.
4/13/2015
THE END
Thank You~
4/13/2015
Download