基于GITHUB的JAVA开源项目的爬取与分析文献综述

 2023-08-11 09:08

一、选题背景和意义:

GitHub是通过git进行版本控制的软件源代码托管服务平台,为开发者提供了便捷的版本控制和协作开发平台,在开发者中广受欢迎,近年来发展迅速。截止2020年1月,GitHub拥有超过四千万用户和一亿个以上的代码仓库,其中至少有两千八百万个公开代码仓库。GitHub上托管的众多开源项目发展了软件开发,同时也为软件研究提供了良好的数据条件,具有相当大的分析研究价值。

API(应用程序编程接口)在现代软件开发中被广泛使用,调用外部API是开发人员快速构建项目、提高软件开发效率、降低软件开发成本的重要方式。然而随着软件行业的发展和软件规模的扩大,第三方库的数量与日俱增,它们提供了大量的公开API。在软件开发过程中,开发人员经常要耗费大量时间查找和选择所需的API。为了解决这个问题,需要相关技术向开发者推荐API使用模式(即能够实现某一功能所需的一组API调用序列)。近年来,API推荐技术日益兴起,能够通过对大规模代码进行分析和模式挖掘,提高推荐相关API的准确性,减少开发人员查找和挑选API的工作量,提高软件开发效率。

GitHub上有大量的Java开源软件项目,这些项目使用到了很多API。这些API在实际项目中被选用,具有一定的可靠性和实用性,对于开发者选择和使用API具有参考价值,适合用来挖掘API使用模式。因此,此课题爬取GitHub上一定数量的Java开源软件项目,从源代码中分析和提取API使用模式信息,挖掘API使用模式,实现向开发人员推荐常用的API使用模式。

二、课题关键问题及难点:

此课题需要大量的Java开源项目数据,经过一系列分析处理,最终实现API推荐。关键问题和难点如下:

  1. 使用爬虫框架爬取GitHub足够多数量的Java项目,同时避免触发反爬机制。
  2. 选取合适的Java源码静态分析工具对爬取的项目源代码进行分析,提取出所需的API使用模式信息,注意对数据的处理以提高后续聚类分析的准确性。
  3. 定义合适的相似度度量方法,使用层次聚类算法对API使用模式进行聚类分析,挖掘API使用模式。
  4. 选取合适的方法实现API推荐。

文献综述(或调研报告):

1.国内外研究现状:

众多研究都将GitHub上的开源项目代码作为数据集使用,从代码库中提取数据作为研究材料或者测试数据。API推荐技术大多也基于大量代码数据挖掘API使用模式,大部分相关研究中所使用的数据都来源于GitHub。

随着软件工程的不断发展,API使用中存在的问题日益凸显。API推荐问题已经是软件工程领域的研究热点之一,逐渐得到了广泛关注,围绕此问题研究人员提出了多种方法。

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

以上是毕业论文文献综述,课题毕业论文、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。