Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Idea] OpenPerf 问题维度建立 #30

Open
bifenglin opened this issue Jun 19, 2022 · 6 comments
Open

[Idea] OpenPerf 问题维度建立 #30

bifenglin opened this issue Jun 19, 2022 · 6 comments

Comments

@bifenglin
Copy link
Collaborator

bifenglin commented Jun 19, 2022

针对一些开源社区的节点分类、链接预测、社区检测、相似度计算相关问题进行了抽象总结:

  1. 节点分类
    • Task name:仓库的topic预测
    • 是否有向:否
    • graph(N,E):同质图,N为各个仓库以及仓库feature,E为仓库之间的连边,连边关系为若有同一个开发者对两个仓库进行协作行为则会建立连边,连边权重为开发者数量之和。
    • graph数量:1
    • ground truth:开发者自行标注的topic
    • metrics:准确率
    • 规模: 小:2000个仓库组成的强连通图,连接紧密的仓库。 中:50000个强连通图。大:最大级别的强连通图。
  2. 链接预测:
    • Task name:开发者与仓库的链接预测
    • 是否有向:否
    • graph(N,E):异质图,N为各个仓库和开发者。 E为两者的协作行为,边的权重为各个
    • metrics:准确率
    • ground truth:删除10%比例连边
    • graph数量:1
    • 规模:小:repo为2000个及其周围紧密的开发者构成的强连通图。中:50000个。大:全域
  3. 社区检测
  • Task name:对开发者社区进行检测
  • 是否有向:否
  • graph(N,E):同质图,N为各个开发者,E共同在一个repo进行协作过则建立一条连边,边的权重为协作行为数量
  • metrics:模块度
  • graph数量:1
  • 规模:小:2000个开发者组成的强连通图,中:50000个。大:全域
  1. 相似度计算:
    • Task name:两个仓库协作模式的相似性
    • 是否有向:否
    • graph(N,E):同质图,N为各个开发者,E共同在一个repo进行协作过则建立一条连边,边的权重为协作行为数量。
    • graph数量:2000/50000/500000
    • ground truth:同一个orgnization下的算相似
    • metrics:准确率
    • 规模:小:2000 中50000 大500000

目前问题简化,只做图相关问题,每个问题数据集和相关内容都需要细化,而且每个问题都能作为一个研究点,目前所有的图都为无向图。暂时没有想到有向图的方案。其实还有很多其他的问题都可以抽象,比如自动化行为检测,推荐系统等等。

@bifenglin
Copy link
Collaborator Author

代码协作平台上面的数据能支撑实用的研究,尤其是是利用社交网络等网络相关知识进行研究。代码协作平台的事件有很多,以github日志事件类型为例,有14项事件类型,分别是PullRequestReviewCommentEvent,IssueCommentEvent,PushEvent,WatchEvent,GollumEvent,CreateEvent,DeleteEvent,PublicEvent,CommitCommentEvent,PullRequestEvent,ReleaseEvent,ForkEvent,IssuesEvent,MemberEvent。其中研究主要的研究对象我们归纳为5项,分别为orgnization、repository、actor、issue、pull request。这五类对象组成了整个github协作网络。他们的关系如图
github对象关系图,其中包含了14个协作行为和对象之间的对应关系
我们将以上5个对象和14个日志类型中产生的问题分为三大类,分别是:社区仓库相关问题,社区成员相关问题,社区成员与仓库相关问题。

@will-ww
Copy link
Contributor

will-ww commented Jun 23, 2022

我们可以先做三个具体的 benchmark,我这里想到的有工作基础的包括:

  • 仓库类别(节点分类)
  • 项目推荐(链接预测)
  • 开发者角色分类(图聚类)

@bifenglin
Copy link
Collaborator Author

图聚类问题是社区检测问题:开发者角色分类应该是开发者角色聚类,否则就又变成了分类问题。

我们可以先做三个具体的 benchmark,我这里想到的有工作基础的包括:

  • 仓库类别(节点分类)
  • 项目推荐(链接预测)
  • 开发者角色分类(图聚类)

@will-ww
Copy link
Contributor

will-ww commented Jun 23, 2022

好~

@will-ww will-ww changed the title 【idea】openperf问题维度建立 【idea】OpenPerf问题维度建立 Jun 24, 2022
@will-ww will-ww changed the title 【idea】OpenPerf问题维度建立 【idea】OpenPerf 问题维度建立 Jun 24, 2022
@will-ww will-ww changed the title 【idea】OpenPerf 问题维度建立 [Idea] OpenPerf 问题维度建立 Jun 24, 2022
@will-ww
Copy link
Contributor

will-ww commented Jun 24, 2022

做了个顶层的框架,但需要优化与细化~

https://xlab2017.yuque.com/docs/share/9db2e200-8937-4026-9045-bb3a1aec8d3d?# 《🍁 OpenPerf 总体设计》

@bifenglin
Copy link
Collaborator Author

bifenglin commented Jun 24, 2022

根据对openperf的理解,增加了一些内容。目前想法,讨论的做个可以自行筛选不同事件组成图数据的不太可行,工作量过大而且不属于数据集范畴。可以增加边的特征数据,下载了数据集的研究人员自行筛选构建自己认为正确的图模型。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants