目录
目录README.md

GithubRepo

目前代办

  • 数据分析中:
    • 文件级分析:分析出前10个近2年内提交次数最多的开发者,他们各自改什么样的文件类型最多,比如,author1,最近2年提交次数为5000,排名第一,要得到的结果是他这5000次提交中,改.cc后缀文件最多?还是改.py后缀文件最多?
    • 代码级分析:一般不予进一步讨论,tensorflow库太大了,代码太繁杂,即使是挑出核心模块,少说也有几百个,看看能否找出前20个改动最多的函数? 然后使用NLP分析一下,这些函数都是什么方面的作用,然后列出来即可
  • 行为预测:
    • 未来行为趋势分析模型训练结果不是非常理想,77%的准确率不够,最好是能到90%的准确率,具体是增加特征还是减少无关特征的输入,看后续训练结果,(但我觉得应该是输入特征太少,或者是特征输入前的处理不是很好,导致训练的结果不行)
  • 实验分析报告

初步设想

  • 选择一个社区开源仓库(需求:目前仍然在活跃提交,提交次数超过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/LSTM模型,预测未来一段时间(30天)内开发趋势

关于
108.8 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

©Copyright 2023 CCF 开源发展委员会
Powered by Trustie& IntelliDE 京ICP备13000930号