且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《中国人工智能学会通讯》——8.35 软件工程中的演化计算研究

更新时间:2022-10-02 20:25:15

8.35 软件工程中的演化计算研究

演化计算(Evolutionary Computation)是通过模拟生物进化过程与机制来求解问题的自组织、自适应的人工智能技术,在模式识别、机械工程、电气工程、生物学等众多领域都获得成功[1-2] 。近年来,演化计算在软件工程领域也获得了广泛应用,形成了新的学科交叉方向——基于搜索的软件工程(SBSE,Search-Based SoftwareEngineering)。

2001 年,Mark et al [3] 首次提出了“基于搜索的软件工程”的概念,并指出该学科交叉方向是指将软件工程问题转化为基于搜索的优化问题,采用以遗传算法、爬山算法、蚁群算法等为代表的演化算法来求解(见图 1)。

《中国人工智能学会通讯》——8.35 软件工程中的演化计算研究

面对规模日渐庞大和复杂的软件,传统的软件工程方法对于软件开发过程中所遇到的问题很难有效解决,而基于搜索的软件工程为解决这些软件工程问题提供了新的思路。因此,在 2007 年,IEEE 国际软件工程大会正式确立基于搜索的软件工程为软件工程领域未来发展的新方向[4] 。需要指出的是,尽管 2001 年 Mark etal 明确提出“基于搜索的软件工程”的概念,但早在 1976 年,Miller et al 就曾尝试把优化算法应用到生成浮点测试数据的问题。因此,2001 年前的很多研究工作也可以归类为基于搜索的软件工程。

近年来,一批重要的国际期刊纷纷组织基于搜索的软件工程专辑(IEEE TSE 2010、JSS 2013、IEEE CIM 2017 等);同时,一系列知名的国际会议也先后组织了相关的特邀报告或讲座(ASE2012、SPLC 2014、ICST 2015等)。值得注意的是,国内相关研究者也成立了相应的学术组织,并定期举办学术活动。中国计算机学会软件工程专委会专门成立了基于搜索的软件工程学组,并从 2012 年起每年举办一次华人基于搜索的软件工程研讨会。2016 年华东师范大学承办的演化计算与学习研讨会(ECOLE)也专门组织了基于搜索的软件工程讲座。

随着基于搜索的软件工程的迅猛发展,涌现出一批研究成果,一些研究者对这些成果进行了不同形式的归纳。比如, Mark et al [6] 在 2013 年撰写了综述文章,对该领域的主要研究内容进行了回顾、归纳和展望;同时,其课题组的 YuanyuanZhang 定期整理维护了基于搜索的软件工程文献仓库(SBSE Repository)。截止到 2016 年 5 月,该网站收集并整理了共 1 657 篇基于搜索的软件工程领域的文献,这些文献包括书籍、技术报告,以及发表在期刊和会议上的文章等。本文尝试采用文献分析的手段,从新的视角分析和归纳基于搜索的软件工程中与演化计算有关的研究进展,揭示该领域的一些有趣的现象,比如高产作者、高引用论文、热点研究主题、合作网络模型等。