目录
目录README.md

GithubRepo

  • 选择一个社区开源仓库(需求:目前仍然在活跃提交,提交次数超过1万次,贡献者超过1千人的仓库)

  • 进行从github仓库上的数据提取与分析:

    • 检索Git提交记录分析
      • 重点检查最近半年到一年内的提交记录,寻找提交信息Commit Messages中的关键字来判断开发重点
      • 分析代码提交频率和规模,查看是否有针对特定功能模块的持续更新
      • 查看新建的分支记录,根据各个仓库的特性进行分析,是否在开发新的功能
      • 分类贡献者,分为长期贡献者和短期贡献者(因为长期贡献者更有可能主导项目仓库发展方向)
    • 对Issues(开发者和使用者提出的问题)和Pull Requests分析
      • 查看已关闭和开放的Issues标签,分析社区用户关注的问题,是否存在较多讨论未解决的功能需求或改进建议,此有可能为未来发展方向
      • 是否存在一些计划任务,明确该仓库项目的短期和长期目标是什么
      • Pull Requests信息分析
    • Readme文档分析
      • 有些仓库拥有包含了未来功能计划的时间表,可根据此来推测未来趋势
    • 开发者各个主要代码文件
      • 代码注释分析如 “TODO”,“FIXME”等标记,寻找开发者标记的未完成任务(可能需要专门针对代码模块的NLP分析)
  • 数据分析可视化

  • 整合出仓库数据分析报告

第一步 数据收集与预处理

  1. 数据来源:仓库采用课程ppt上采用的”https://github.com/tensorflow/tensorflow“ tensorflow库
  2. 数据格式
    1. 版本信息:提交记录(commit),对应的时间戳与贡献者信息
    2. 文件改动记录:改动文件路径、行数变化(新增/删除)
    3. 代码内容:具体代码改动内容,增量代码/删除代码
  3. 处理步骤
    1. 清洗并标准化数据(时间格式统一,文件路径分类)
    2. 提取代码改动的关键词—-函数名
    3. 创建开发者与文件的关系矩阵(重要—且需要进行可视化)

tensorflow库,你们如果还需要的话,就自己clone进自己的本地仓库里,我试过了,没法把整个tensorflow的github仓库推送到远程仓库里去 完成了数据收集与预处理, 包含了文件修改记录的csv保存在cleaned_commit_datas中 只包含了提交commit记录的csv保存在了cleaned_commit_datas_just_commit中

第二步 数据分析

File_CodeModelAnalysis.py

文件级分析

  1. 统计开发者对不同文件类型的改动频率和分布
  2. 识别开发热点(高频被改动的文件或模块)

代码级分析

  1. 挖掘代码改动类型(新增/删除/重构)
  2. 分析代码语义和结构特征,定位核心功能模块

开发者行为分析

  1. 识别核心开发者与外围贡献者角色
  2. 分析开发者与模块的交互模式,挖掘团队协作特征

行为预测

特征工程

特征提取

  1. 时间序列特征:提交频率、活跃时间段
  2. 语义特征:提交信息关键词分析

模式训练与预测

分类预测:预测改动文件类型

未来行为趋势分析

构建ARIMA模型,预测未来一段时间(30天)内开发趋势

关于
107.4 MB
邀请码