34、软件算法与代码异味检测技术研究

软件算法与代码异味检测技术研究

1. SPL配置算法评估

在软件产品线(SPL)配置领域,有两种重要的算法值得关注,分别是SATIBEA和eSATIBEA。

SATIBEA算法是当前SPL多目标配置的先进算法,它结合了遗传算法(IBEA)和SAT求解器。在遗传算法的基础上,增加了“智能变异”和“智能替换”两个步骤,这两个步骤以一定概率应用,并且都借助SAT求解器来寻找修复或替换不可行解的可能方案。

而eSATIBEA算法是在此基础上的改进。当特征模型(FM)发生演变时,例如从FM1演变为FM2,若之前在FM1上进行过SPL配置并得到一组解S1,eSATIBEA不会像SATIBEA那样随机生成个体,而是将S1适应到FM2并提供给SATIBEA。其目的是期望这些初始个体具有较好的质量,优于随机解。

通过对这两种算法在进化后的Linux内核上的评估,使用超体积这一指标来比较它们的性能。超体积表示由每个算法找到的解的帕累托前沿所支配的空间(在由n个目标定义的n维空间中),超体积越大越好。

评估结果显示,两种算法随着时间推移都能提高超体积,并在1200秒后趋于平稳。但eSATIBEA利用相对较好的初始种群,在大多数数据集上获得了更好的超体积。eSATIBEA收敛速度快,不到100秒就能达到较好效果,而SATIBEA需要超过700秒才能达到与eSATIBEA相似的超体积。在遗传算法第一代结束时(平均95秒),eSATIBEA相比SATIBEA平均提高了超过113%,不过这个百分比随着时间推移会逐渐降低至平均1%。不过,在某些特殊的特征模型(如20_10)上,SATIBEA在执行结束时超体积略优于eSATIBEA,这可能体现了eSATIBEA的局限性,因

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值