逆向工程特征模型适应度函数的扩展
在逆向工程特征模型的过程中,适应度函数的计算是一个关键环节。传统的适应度函数通常旨在匹配产品线内的有效产品集合,但这种方法存在性能瓶颈。本文将介绍一种新的适应度函数 SATff,并通过实证研究评估其有效性和效率。
传统适应度函数的问题
传统的逆向工程适应度函数需要枚举每个更改模型中的所有产品,以计算匹配、遗漏和额外产品的数量。然而,随着特征数量的增加,产品数量呈指数级增长,这使得计算变得非常耗时。许多实际的产品线具有超过 30 个特征,这限制了当前逆向工程技术的有效性。
例如,在一个具有 27 个特征的模型中,可能有多达 2^27 或 134,217,728 个产品需要枚举。尽管模型中的约束可以在一定程度上减少这个空间,但遗传算法仍然需要能够处理如此大量的产品。
新适应度函数 SATff 的提出
为了解决传统适应度函数的问题,本文提出了一种新的适应度函数 SATff。SATff 通过计算每个模型中约束集与原始约束集之间的重言蕴含关系,来模拟有效性并估计两个模型之间的距离。
具体来说,SATff 的计算分为两个步骤:
1. 计算精度(precision) :精度表示新特征模型中正确产品的比例。通过计算输入约束集中被演化特征模型重言蕴含的约束数量,来估计正确产品的数量。
2. 计算召回率(recall) :召回率表示演化特征模型覆盖输入产品的比例。通过计算演化特征模型中被输入约束集重言蕴含的约束数量,来估计覆盖的产品数量。
最后,SATff 使用 Fβ=4 度量来平衡精度和召回率,其中
超级会员免费看
订阅专栏 解锁全文

1744

被折叠的 条评论
为什么被折叠?



