8.37 文献数据获取
本文从多个维度获取在软件工程领域与演化算法有关的研究成果。首先,从基于搜索的软件工程文献仓库(SBSE Repository)获取基于搜索的软件工程的文献列表。本文选取该仓库中 1 502篇发表在期刊或者会议上的文章(删除书籍、技术报告等类型的文献),将这些文章的标题、摘要、发表刊物、发表时间以及作者等信息从 SBSERepository 网站提取下来。第二,提取所有文献的关键词信息。由于许多文献中并未提供具体的关键词,因此采用如下策略完成关键词提取,若文章中提供了关键词,则将这些关键词提取下来;若文章中未提供关键词,则利用网络爬虫将文献数据库(IEEE Xplore、ACM、Springer、Science Direct、Wiley 等)中自动摘要出的该文章的关键字爬取下来;对于极少数的在文章中和文献数据库中均未提供关键词的情况,利用人工分析的方法从标题和摘要中总结关键词。在关键词统计的过程中,删掉了如 Software、Software Engineering、SBSE 等 范围过大或不具有具体含义的词项,同时合并了部分意思相同或相近的关键词。第三,从文献数据库中爬取作者的机构信息,并且从 Google Scholar 网站爬取文章的引用数信息。
在完成文献收集后,对所有的文献进行人工过滤,发现其中有 553 篇文章不符合本文的研究主题。这类文章主要包括如下三种情况:① 文献并未利用已知的演化算法解决软件工程问题,而是自定义的启发式规则;② 文献的主要算法并非演化算法,而仅把它们作为对比算法;③ 文献属于综述类文章,并非利用演化算法解决具体的软件工程问题。在删除这些文献后,筛选出 949 篇利用已有的演化算法或改进的演化算法,解决软件工程问题的文章。