SBSE—基于搜索的软件工程简介

下面我将从4个方面介绍SBSE(Search-Based Software Engineering)——即基于搜索的软件工程:
1.引入背景
2.技术和应用分析
3.SBSE优势
4.总结

话不多说,开始上车···

1.引入背景

然而,所有这些问题本质上都是优化问题

SBSE已经应用于测试、设计、需求、项目管理和重构。

SBSE简介

EAs使用频率最高,代表了经典的优化算法,如遗传算法,遗传规划等(EAs*代表了自称为优化算法但还未被证实)。

模拟退火算法,爬山算法紧跟其后。

使用元启发式搜索技术的第一篇论文是Boyer、Elspas和Levitt在选择系统的应用[2]

遗传算法在软件工程问题上的首次应用通常也归因于SBST领域,Xanthakis等的工作,他引入了一种遗传算法来开发整个测试套件。[3]

多年来,这一比例有所下降,稳定在50%左右。这代表了SBSE的非测试相关领域的增长,而不是SBST上论文数量的下降。

SBSE论文在测试问题上的比例稳定在大约相当于整个软件工程一半的水平, 这也是SBSE日益成熟的一个标志。

SBST——应用和工具

SBST现在已经足够成熟,已经从实验室研究过渡到工业应用,例如Daimler[4]、爱立信[5]和微软[6]

还有用于自动程序修复的公开的SBSE工具[7]和用于流行语言的SBST工具,如AUSTIN[8]、用于C语言的开源SBST系统和用于Java的开源SBST系统EvoSuite[9]。

3. SBSE优势

SBSE研究项目的显著特征之一是SBSE应用于的各种不同的SE问题。

SBO(search-based optimization)在很少的领域仍然没有被应用

在将基于搜索的方法应用于SE问题之前,必须完成的两个主要任务是定义问题的表示,以及捕获要优化的目标或目标的适应度函数。一旦完成这两个任务,就可以开始从许多SBO技术的应用中获得结果。

这里写图片描述

4. 总结

SBSE的未来是光明的。与SBSE相关的技术肯定适用于许多领域,但尚未充分考虑。在现有的应用领域,结果已经非常激动人心。

如果我们把软件工程看作是一门真正的工程学科,那么我们当然应该接受SBSE作为一个自然的结果。

优化是所有工程的基石!!!


声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年6月18日
下一篇 2018年6月18日

相关推荐