Giter Site home page Giter Site logo

open-research's Introduction

OpenResearch 这个文档型开源项目,用一句话来说就是:

用开源的方法来研究开源的现象。(open source methodology for open source phenomena)

这里我们逐渐迭代出部分特色模块项目,欢迎大家一起来参与。本仓库包含如下几个实质性的内容:

  • 一个开源研究论文列表(知识库)
  • 一个开放式论文阅读与分享流程(流程)
  • 一个开放式论文写作与发表流程(流程)
  • 一个做开源研究的总体框架(方法)
  • 两个不断实践的开源研究方法(方法)
  • 一个做开源研究的工具清单与最佳实践(工具)
  • 四个特色开源研究方向与项目(项目)
  • 一份开源研究成果(产出)

1️⃣ 论文阅读与写作(Academic reading and writing)

基于 GitHub 建立一个完整的论文阅读、分享与写作流程,沉淀一套开放式科研的流程与模板。参见:#4

2️⃣ 研究框架(Research framework)

框架是一种思维模式,也就是我们所选择用的心智模型,会决定我们如何理解这个世界,也决定我们如何行动。开源的科学研究,注定是一个多学科、跨学科的研究,一套通用的研究框架,对于指导大家研究的开展,还是非常有必要的。

3️⃣ 研究方法(Research method)

作为一个典型的跨学科的研究领域,开源的研究方法涉及到多个方面,这里我们希望从两个方法论的角度来开展持续研究。

4️⃣ 协作工具(Collaberative tools)

高效的研究离不开工具的支持,结合 GitHub 整合一些日常使用的协同工具,常见的场景包括:

5️⃣ 特色研究(Featured projects)

  1. 开源生态价值网络(价值网络四部曲:[1🔥][2🔥][3🔥][4🔥])@frank-zsy
  2. 开源社区的健康与可持续性度量分析与评估 @xiaoya-Esther
  3. 开发者社会技术网络(Developer Socio-Technical Networks,DSTN)的特征与演化 @birdflyi
  4. OpenPerf:开源基准测试集 @bifenglin

6️⃣ 研究成果(Achievement)

成果列表https://github.com/X-lab2017/open-research/blob/main/publication.md

open-research's People

Contributors

1600383075 avatar andyhuang18 avatar bifenglin avatar birdflyi avatar chinggg avatar frank-zsy avatar gymgym1212 avatar jingbenshi668 avatar lhbvvvvv avatar longyanz avatar purenatural avatar tenth-crew avatar tieway59 avatar tyn1998 avatar will-ww avatar wj23027 avatar xgdyp avatar xiaoya-yaya avatar yoyo-wu98 avatar zhicheng-ning avatar zhuxiangning avatar zzzzzhuzhiwei avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

open-research's Issues

[Task] 理解 GitHub 上已归档的开源项目

Understanding The Archived Projects on GitHub

背景

理解 GitHub 上被 Archived 的开源项目,尤其是曾经具备着高活跃度、高关注度的项目出于什么样的原因被Archive,处于 Archived 状态下之后的这些项目拥有怎样的协作、迭代(如果存在的话)和发展/衰退的模式。

一个被 Archived 的项目实例:https://github.com/PHPOffice/PHPExcel

GitHub 上被 Archived 的项目是否就代表它已经是过去式,代表了衰败和停止演化呢?如果是的话,这些项目在历史上拥有怎样的协作、活跃和演化的行为轨迹?我们能否总结出一些导致开发者流失和项目衰败的因素和规律?

是否还存在其他方面的原因而归档一个项目,如在代码开放和协作策略上的考量?

思路

  • 抽取 5000 个左右存在时间在 5 年以上,Star 数 1 万以上的被 Archived 的项目
  • 给相应的项目维护者及活跃度高的贡献者发送问卷,问卷内容围绕项目的基本信息、协作模式和受访者认为的项目存档原因
  • 半结构化的访谈,进一步了解协作模式和存档原因
  • 从行为日志数据中观察项目历史年份中的活跃度、openRank指数、贡献者数量趋势等,结合分析
  • 与项目所具有的性质(规模、技术栈等)进行交叉分析

预期结果

  • 总结出一套项目被归档的模式和原因
  • 总结出一套项目衰败和开发者流失的原因
  • 推导出一些项目衰败模式和规律
  • 反推出一些项目健康和可持续性的关键要素

[OpenPro]2020-Studying Software Developer Expertise and Contributions in Stack Overflow and GitHub-ICSM

  • Title: Studying Software Developer Expertise and Contributions in Stack Overflow and GitHub
  • Publish Year: 2020
  • Conference or Journal: ICSME
  • Author and affiliation:Sri Lakshmi Vadlamani & Olga Baysal
  • Ranking: CCF B
  • label: Software developer expertise, developer contributions
  • Select reason:通过软件开发人员在 GitHub 和 Stack Overflow 平台上的活动和经验研究软件开发人员的专业知识、贡献动机以及参与挑战
  • link:Studying_Software_Developer_Expertise_and_Contributions_in_Stack_Overflow_and_GitHub.pdf
  • Supplementary:516.pptx

[开题框架] 面向开源治理最佳实践认证过程的分类预测模型

根据研究生开题模板 #53 ,提出如下的开题框架:

  • 开题题目:面向开源治理最佳实践认证过程的分类预测模型
  • 研究对象:开源项目、CII 徽章认证过程
  • 研究视角:开源项目治理与评估场景视角
  • 研究问题:是否能够通过认证过程数据的方式来进行自动的徽章登记评估与分类
  • 研究方法:通过分析历史参与CII 认证的项目过程数据,提出能够合理反映认证过程的特征模型,构建“基准数据集”,利用机器学习算法实现自动化分类或预测任务
  • 研究结果:找到“基准数据集”上性能最好的多分类模型,并应用到OpenCertified项目中。如果时间允许,还可以结合 OpenSSF 的 Scorecard 项目,做预测模型。
  • 实验设计:选取合适的数据源,根据 CII 的认证规范,构建多维度特征模型,用常规的机器学习模型构建流程进行实验。根据取得的效果,确定是否加入新的数据源与特征(图特征、NLP特征等),迭代优化。

数据开源:

参考:

[ProjectMaintenance]建立PR模板

一起来建立PR模板吧~
我们可以参考https://raw.githubusercontent.com/X-lab2017/OSSDevGov2021/main/.github/PULL_REQUEST_TEMPLATE.md ,做一个PR模板用于解决文献入库等常规Issue,示例:

<!--
Thank you for your interest in and contributing to xlab-website! Follow this checklist to help us incorporate your contribution quickly and easily:

 - Each commit in the pull request has a meaningful commit message.
 - Fill out the template below to describe the changes contributed by the pull request.
 **(The sections below can be removed for hotfixes of typos)**
-->

## Purpose

<!-- Please include the GitHub issue this fixes or resolves, if applicable, please also explain any extra purpose of this PR  -->

-  Fix # <!--As well as Close # -->

## Changes

<!-- Please list out what major changes were made in this PR to address the issue: -->

- Your changes

为什么推荐使用PR模板?(选读)
不推荐多次commit解决某一个Issue。出于美观,以及考虑到sha-1码查询困难(需要从commit中获取提交信息)、关联到Issue主题难度大、github不支持预览等方面考虑,推荐使用PR解决对应的Issue。示例:Issue #69 Fixed by PR #70
为了方便自动化关联,我们需要一个统一的PR模板。
使用PR的好处:在PR中我们可以提供标签、增加主题说明、多次提交、多人讨论、完整的指派和review流程、增加bus系数、自动化程度高、有github预览等好处~

[PhD Research Proposal] 面向开源社区协作场景的多智能体协同机制研究

根据 05-18 日中期检查的报告内容,有如下建议:

  • 开题题目:面向开源社区协作场景的多智能体协同机制研究(后续修改优化)
  • 研究对象:开源项目/社区中的机器人(bot)
  • 研究视角:DevOps、项目管理、社区治理下的机器人自动化需求场景
  • 研究问题:是否能够识别出 GitHub 上的协作机器人(bot)、进而进行角色特征判断、以及异常行为检测等工作
  • 研究方法:GitHub 上的全域日志行为数据、利用机器学习、图算法、强化学习等技术进行求解
  • 研究结果:能够对 Bot 进行准确分类;能够构建特征对 Bot 的角色进行识别;能够检测 Bot 的异常行为
  • 实验设计:制作标准的全域开发者行为数据集(包括)、对 Bot 进行人工标注、对 Bot 的角色进行标注、对 Bot 的异常行为进行标注,设计完整的分类(包括二分类、多分类)、异常检测算法的流程,与评价指标。

数据开源:

参考资料:

[PaperRec] 该论文已经入库

这篇论文是陈亮博士(@1600383075)在周四最会上推荐的一篇文章,就以这个为例过一遍论文入库的流程。

如果大家发现了一篇好的论文,有如下两国动作可以做:

  • 来 OpenResearch 论坛上,就像这样发布一个帖子,根据模板填入一些信息,供大家参考与讨论
  • 如果对论文更有把握,直接开一个 issue ,根据模板填入信息,等待审核与入库
  • X-lab.PhD 团队审核后,正式进入论文列表库

期中,需要填入一个模板信息,几个简洁的字段,举例如下:

  1. 题目:开源软件社区开发者协作网络——以 CloudFoundry 社区为例
  2. 会议或期刊名称:复杂系统与复杂性科学
  3. 年份:2019
  4. 级别:无
  5. 分类或关键词:复杂网络、开源社区演化
  6. 推荐理由:从复杂网络的视角研究开源社区协作关系的演化,对实验室制作图数据集,以及用复杂网络中的方法进行研究,都有很好的启发
  7. 全文链接如下

开源软件社区开发者协作网络——以CloudFoundry社区为例.pdf

Originally posted by @will-ww in https://github.com/X-lab2017/open-research/discussions/42

[Drafting] 一种基于异质信息网络的 GitHub 项目推荐方法

摘要:在GitHub开源协作开发场景中,各实体类型及其间的链接关系具有天然的异质属性,为了提高项目推荐的准确性,需要有效地融合这些多源信息。因此,我们针对项目推荐场景,定义了以开发者和项目仓库为中心的开源加权异质信息网络,以表示GitHub开源协作开发场景中不同的实体类型和链接关系,有效地建模开发者、项目及其他实体的复杂的交互关系。利用加权异质信息表示学习方法,抽取和利用开源加权异质信息网络中丰富的结构和语义信息,学习得到开发者和项目的节点表示,并将个性化非线性融合函数融合到矩阵分解模型中用于开源项目推荐。最后,我们基于真实的GitHub开放数据集做了大量的对比实验,与其他项目推荐方法对比来验证我们提出的开源项目推荐模型的有效性,同时,我们还探索了不同的元路径对项目推荐效果的影响,并验证了异质信息网络表示学习方法缓解项目推荐场景冷启动问题的能力。 @Heming666

[Proposal] 关于文件存储服务的选择

今天和大家讨论了下实验室论文、数据、视频、PPT等文件存储的问题,形成几个共识:

@will-ww

  • 这个是我们目前的OSS服务的访问地址是这个吧 OSS,我们的pdf论文等资料,放在哪里比较合适?
  • OSS
  • 语雀
  • NextCloud

@frank-zsy

  • 是这个地址。OSS 其实比较合适放静态文件,分发速度也快,完全公开访问的,但问题就是编辑比较麻烦,需要在阿里云的控制台,不是任何人都可以随意放东西上去的。语雀的话我不是很确定,可能也可以,而且说不定支持各种富媒体的在线预览。NextCloud 不太建议,毕竟要自己搭服务,运维成本高,稳定性差,带宽也有限,不过本地支持确实比较方便,可以快速同步。
  • 其实自己用的话都还好,有个地方同步东西就行,各种网盘也都没问题,但团队用就是个问题,两年前用 NextCloud 我觉得倒也还好,虽然偶尔会挂掉,但问题就是最后变得非常乱,各种文件都扔上去,就很难维护了。

@tyn1998

  • 我觉得语雀的资源知识库挺好的。大家传方便,下载的人也方便,速度也快
  • 语雀支持的格式有限,但是zip压缩包都可以的
  • 图片文档视频全都可以,我在上传的时候看到灰的不能传的也只是.dmg这种mac下的程序安装包格式

论文列表结构如何调整

当前的论文列表结构为openlist.md,包含 |No. | Paper | Author | Conf&Journal | Year | Rank | Tags| 等列。
新的“论文推荐”流程体系中按论文7要素给出如下的模板:

  • 论文题目(Title)
  • 发表年份(Year)
  • 会议或期刊名称(Conference or Journal)
  • 级别(参照 CCF 级别)(Ranking)(可选)
  • 分类标签(参照 Opendium )(Lable)(可选)
  • 论文链接(Link)(可选)
  • 推荐理由(Recommendation reason)(可选)

对比差异:

  • Paper <-> 论文题目(Title) + 论文链接(Link)(可选)
  • Author <-> [空]
  • Year <-> 发表年份(Year)
  • Conf&Journal <-> 会议或期刊名称(Conference or Journal)
  • Rank <-> 级别(参照 CCF 级别)(Ranking)(可选)
  • Tags <-> 分类标签(参照 Opendium )(Lable)(可选)
  • Extra <-> 推荐理由(Recommendation reason)(可选)

讨论openlist.md论文列表结构的调整:

  1. 关于Paper是否需要更名为 其他名字(如Paper Title [Link] ),或是分离出单独的Title列与Link列?
  2. Author列是否是必要的?若必要,给出几名作者代表较合适?
  3. 推荐理由(Recommendation reason)(可选)是否需要体现在列表中?
    当前的方式是使用 Extra 中的 Tags&Reasons 列单独记录少数的特殊论文,并将原因记入SpecialReason.md(https://github.com/X-lab2017/open-research/blob/main/PaperRecomm/SpecialReason.md) 中。

欢迎讨论~

如何构建一个论文的筛选和落库流程?

我觉得这个项目中,我们可以构建一个开源领域的研究论文收集流程:

  1. 贡献者根据模板填写推荐的论文信息和论文全文,并列举推荐该论文的原因;
  2. 审核团队,根据推荐信息,然后判断是否符合我们阅读论文的需求,通过或不通过
  3. 通过的论文信息,落到仓库中,供大家阅读和参考
  4. 同时,还可以补充该论文的相关资源,例如原作者的演讲或我们的分享视频或PPT

这里需要制定几个内容包括:

  • 考虑上述这些因素的论文推荐模板
  • 论文评审的标准和要求
  • 论文推荐、分享、后续补充资料等步骤的完整流程
  • 论文分类或标签体系,方便快速定位感兴趣的论文
  • 分享完后,可以跟一个技术博客进行总结,既提升自己也丰富信息

大家可以补充,目的还是系统而高效的阅读分享关键性论文,深度优先、兼顾知识面的扩展~ @birdflyi

[Maintenance] 日常维护

日常维护(Routine maintenance)

  1. 更新说明文档
  2. 优化目录结构
  3. 解决bug
  4. 更新文献等资源信息和Tag分类信息

openlist.md 中的两个优化

https://github.com/X-lab2017/open-research/blob/main/openlist.md

1、Notes: A bold No. indicates the record has been shared in our meetings, e.g. 0012.

这个感觉没有必要。如果论文已经分享了,可以通过 [History] 字段来显示。黑体并不明显。建议保持简洁即可。

2、A. 论文收集流程图

这个图建议单独用一个文件进行维护,对文档进行解耦,一个页面只做好一件事情。这个页面就专门是论文困列表。B. Directory Tree,也搬到合适的地方去。

3、表格排版

目前表格排版,还不够理想,看能否进行一些优化,

[CFP] Bench'22

Bench'22论文征集中,欢迎各位老师和同学投稿(截止时间是2022年7月28日,会议地址为https://www.benchcouncil.org/bench22/index.html。 Bench'22会议将于2022年11月7-9日举办,双盲评审,录取论文将发表在Springer LNCS (EI检索)上,优秀论文将会推荐到BenchCouncil Transactions on Benchmarks, Standards, and Evaluation (TBench)刊物上。会议将颁发BenchCouncil成就奖(3000美元)、BenchCouncil新星奖(1000美元)、BenchCouncil最佳论文奖(1000美元)、以及计算机体系结构领域及其他领域的BenchCouncil杰出博士论文奖(各1000美元,总计2000美元)。

40dc9d52b10d254c72b0028b96208f9

[Paper Recommendation]Measuring the Popularity of Job Skills in Recruitment Market: A Multi-Criteria Approach

I wish to recommend a paper:

Paper Title:Measuring the Popularity of Job Skills in Recruitment Market: A Multi-Criteria Approach
Publish Year: 2018
Conference or Journal:AAAI
Ranking:CCF A
Classification or Keyword: job skill, topic model
Reason for Recommendation:使用主题模型建模开发者技能,实现招聘推荐
PDF link:https://ojs.aaai.org/index.php/AAAI/article/view/11847

[OpenPro] 2021-Sustainability Forecasting for Apache Incubator Projects-ESEC-FSE

  • TitleSustainability Forecasting for Apache Incubator Projects
  • Author and affiliation:UC-Davis, 浙江工业大学
  • Year:2021
  • Conference or JournalESEC/FSE
  • RankingCCF A
  • LabelC03 项目孵化管理
  • Link网络连接知识库链接
  • Select reason:开源基金会孵化场景和实验室研究高度相关、论文也提供了一套高质量的 Apache 基金会的项目数据,可以积累实验室的数据集与案例
  • Supplementary:建议将论文中提到的数据集收集到 OpenPerf 项目中,论文中提到的数据集和代码已经放在了 GitHub 等平台上。

[Research idea] Issue 与 PR 评论中的情感分析

提出该问题的场景:
在开发者协作网络构建中,我们经常使用共现关系对协作关系进行描述,但很多场景下,共现关系不一定表征正向的协作亲密度。在某些 Issue 或 PR 中,如果出现开发者之间的分歧,甚至争论。此时他们对彼此的价值评价事实上无法简单用共现的次数来表征。

问题:
对于 Issue/PR 中的评论,是否可以使用 NLP 进行情感分析,最简单的可以划分为正向/负向/无情感类型,即使如此简单的划分也可以在价值网络中对开发者之间的价值转移提供更好的判断依据。配合评论回复的关联分析,可以得出更加完善的价值网络。

数据:
可以考虑使用一些大型开源项目,或经常使用 GitHub reactions 的项目。在对具体评论内容进行情感分析后,也可以使用人工标注或直接使用 reactions 来进行验证。

关于论文推荐流程的讨论

  • - **分类标签**(参照 [Opendium](https://github.com/X-lab2017/open-research/tree/main/Opendium) )(Lable)(可选)
    建议分类必选,并且按照 Opendium 的分类,可能存在多个维度,最好都需要选择,若没有对应分类可以选择“其他”。原因是对于推荐者而言,论文内容大致是已知的,进行这几个维度的分类的心智成本不高,但长期收益很大,可以形成较好的标签数据,论文也有更好的依据可以进行分类存放,如果这个工作后续再集中人工来做,成本是更高的。
  • - 由 Hypertrons 机器人自动合并到[📚OpenList](https://github.com/X-lab2017/open-research/blob/main/openlist.md)
    目前 Hypertrons 是没有能力做 Markdown 文档的合入的,尤其是人工和机器同时协作的文件,因为这需要对 Markdown 文档本身的格式内容进行结构化的解析,而且如果中间出现文档结构上的变动就会失效。因为 Hypertrons 之前在其他仓库的提交自动化文件几乎均为全量覆盖的模式,这里还是建议审核通过后由推荐人提交 PR。

[Research idea] Issue 与 PR 中的评论回复关系建立

提出这个问题的场景:
在更加细致的协作网络构建中,交互关系不应仅仅是粗略的仓库或 Issue/PR 上的共现关系,而应该可以更加细致到具体每一次活动的关联关系。这些在行为日志中缺失的关联关系对于网络构建和后续任务其实有较大的意义。

例如在一个较长的 Issue/PR 中,一个新增 comment 具体是回复之前的哪条信息,常见的如:

  • 对于当前 Issue 本身内容的一种反馈
  • 对于之前某个具体评论的回复,但可能是 quote reply,则文本中存在相关性。也可能仅仅是直接回复,此时可能需要通过上下文进行分析,看是否存在回复关系。

对于 PR review 则相对确定,因为对于 PR 的 review 是基于某个特定行(或几行)进行的,此时会导致新起一个 thread,那么多次 review comment 如果关联到一个 review id,则他们一定是上下文相关的。

数据:
所以最终该问题可能是一个与 NLP 与连接预测的问题,构建数据可以考虑从全域数据寻找 Issue/PR 评论数较多的一些构建一个数据集,并可能需要人工进行一些回复关系的标注。

[task] 完成一篇开源关系网络及其之上关键任务的综述性论文

根据开题内容,系统撰写一篇综述性论文,可以从如下两个维度:

  • 开源关系网络的构建综述,以提出开源领域的 Socio-technical Network 收尾
  • 开源关系网上的关键任务综述,特别是项目分类问题,为后续工作做准备

可以分如下几个步骤:

  • 列提纲,1周左右
  • 收集论文,形成框架,2周左右
  • 文章阅读,填入框架,2周左右
  • 论文写作,4周左右
  • 论文优化,4周左右
  • 定稿与投稿,1周左右

[Drafting] 基于节点亲密度和重要性的开源软件生态链接预测算法

摘要:本文使用链接预测算法实现同质开源软件生态中的项目推荐问题。在基于节点局部信息的算法中引入了节点亲密度,即节点及其共同邻居节点之间连接的紧密程度,提出了基于节点亲密度的无权网络链接预测算法;然后本文分别使用度中心性、介数中心性和接近中心性衡量节点重要性,区分未连接节点对的共同邻居节点对网络中新链接形成的不同贡献,提出了基于节点亲密度和节点重要性的加权网络链接预测算法。在开源项目数据集和公开数据集中的实验表明两种改进算法的预测精度均有了明显的提升。@sunshinemingo

[Task] HINRank——一种面向复杂异质信息网络的中心度算法及其在开源软件研发领域的应用

背景

基于网络的中心性算法在中心性评估中有较好的表现,而自 PageRank 提出以来,基于网络拓扑关系的协同中心性排序备受关注,并演化出众多的相关算法。如面向特定领域的 ArticleRank、MovieRank,针对性能优化的 LeaderRank,以及在 2018 年提出的扩展到二部图的BiRank 等,都是对 PageRank 算法的扩展。

但在实际业务场景中,简单的同质图或二部图并不能很好的反映真实世界的网络关系,真实的网络更多是异质信息网络。因此将 PageRank 类算法扩展到泛化异质信息网络,并使其可以支持先验知识,则可以更好的适应真实业务需求,为真实世界的价值评估提供更好的数据与理论支撑。

思路

摘要

介绍开源软件的统计评价方法及其局限性,并介绍基于图网络的中心性算法。

问题

更详细介绍开源软件研发领域的软件中心性评估的问题与意义,介绍开源软件研发领域的数据情况。

方法

  • 异质图建模,生产(GitHub 活跃)、消费(生态项目依赖)、社交(GitHub 用户关注关系)网络,并对数据进行时序化处理。
  • 对类 PageRank 算法进行数学描述,并对具有先验知识的泛化异质信息网络的迭代收敛性进行证明。
  • 对 HINRank 算法的收敛速度进行说明。
  • 对算法中 RankSink 问题的改进说明,引入 LeaderRank 中的背景节点方法,在特定节点子集中应用,不仅有利于收敛速度,而且具有相应的业务含义,如 GitHub 开发者生态影响力、特定语言领域影响力等。

实验

  • 对GitHub 社交研发网络的基本特征进行说明,如一般的连通性、度分布、图半径等
  • 将 HINRank 算法应用于上述构建的网络,对结果进行展示与说明,包括相较统计型指标的评估有效性、鲁棒性等。
  • 背景节点,即生态影响力的比较证明,与 Node.js、NPM、Python 生态的发展变化与 TIOBE 历史排行的对比。

未来与规划

  • 数学模型上的扩展,例如扩展到 L2 范数规范化等。
  • 业务模型上的扩展,例如添加 GitLab、Gitee 数据等。

[OpenPro] 2020-Studying Software Developer Expertise and Contributions in Stack Overflow and GitHub-ICSME

Title:Studying Software Developer Expertise and Contributions in Stack Overflow and GitHub
Publish Year: 2020
Conference or Journal:ICSME
Author and affiliation:Sri Lakshmi Vadlamani & Olga Baysal
Ranking:CCF B
label: Software developer expertise, developer contributions
Select reason:通过软件开发人员在 GitHub 和 Stack Overflow 平台上的活动和经验研究软件开发人员的专业知识、贡献动机以及参与挑战
link:Studying_Software_Developer_Expertise_and_Contributions_in_Stack_Overflow_and_GitHub.pdf
Supplementary:516.pptx

[Task] 软件供应链项目中的论文工作

同济的田老师牵头的软件供应链项目准备结题了,需要几篇文章来支撑,正好借助这个点,我们可以集中一起来协作一波。

目标期刊和会议包括:

1. 《华东师范大学学报(自然科学)数智供应链与物流科技专刊

2. 《信息网络安全》期刊

3. APWeb-WAIM会议

c279619b2c452523f86622de9b9069a

4. NDBC 2022 会议

5. WISA 2022 会议

欢迎大家积极投稿~

建立 2 个 Issue Tmplage

我觉得入库的表结构没有问题~

推荐时,我建议可以像 open digger 提标签数据一样,直接用 Issue Template 给出论文推荐模板,Discussion 目前似乎还不支持模板功能,不过在 Discussion 下面的格式可以更加自由一些。

Originally posted by @xiaoya-Esther in #38 (comment)

[Reaserch Idea] 复杂网络数据蒸馏

最近处理github数据进行图模型构建遇见了不少问题:

  1. 图数据规模过于巨大,vscode一个月的issue pr协作关系网络就有300多M的网络图模型数据。
  2. 构建的图网络结构理应具有相似性质,可以通过相似矩阵或者谱方法进行验证。

目前还没有进行模型训练阶段,但是仅仅通过以上两点问题,我在思考是否有将大规模数据提出成小规模数据,保留其特征的一些方案。我认为可以提炼出一个科学问题。

想法来源于:

  1. 复杂网络模型演化
  2. 知识蒸馏(Knowledge Distilling)论文 Distilling the Knowledge in a Neural Network
  3. 图结构特征

目前先将我的想法列出来,后续对这部分比较感兴趣,也可以用来解决数据集问题。进而有可能对OpenPerf产生指导性作用。

[讨论] 建立学术研究流程中的各个环节与要素

通过识别学术研究中的各个关键环节,构建标签体系:https://github.com/X-lab2017/open-research/labels

1、论文入库过程:

  • 大家挑选平时看到的好的论文,利用 PR 的形式推荐到仓库中:https://github.com/X-lab2017/open-research/pulls
  • 编写 PR 的时候,可以根据一个**推荐模板**进行填写
  • 老师或经验丰富的同学 Review 后进行合并
  • 逐渐形成一个相对完善的论文库
  • Todo:建设一个完善的多标签体系,多论文进行标签化(业务、技术、年限、档次、难以等)
  • Todo:建设一个 UI 界面方便检索与查看论文库(利用开源软件或 SaaS 服务)

2、论文选择过程:

  • 老师和同学根据自己的兴趣选择合适的论文进行阅读,并进行标注
  • 大家相互之间可以知道还有哪些人对改论文感兴趣,以便相互讨论
  • 甚至可以连接论文作者

3、论文分享过程:

  • 通过组会等相关性是进行论文分析
  • 分享前给出**分享模板**给出论文的摘要信息,随会议通知发出来
  • 分享过程进行视频录制,会后通过 B 站等渠道进行发布

4、论文总结过程:

  • 会后通过技术文字的形式,结合**总结模板**,对论文进行总结
  • 融入大家讨论、以及后续推荐阅读等信息,进一步完善成果输出
  • 将总结文字通过微信公众号等渠道进行传播,同时也沉淀与回链到论文库中
  • Todo:最终成果的一键式分享工具(从一个信息源,到多个发布平台的分享与追踪)

以上四步为论文阅读与分享环节,作为一名研究生的日常基础科研活动,不断积累与迭代~

5、论文构思过程

  • todo

6、论文实践过程

  • todo

7、论文写作过程

  • todo

8、论文发表过程

  • todo

学术研究全流程

大家提出建议~

[OpenPro]开源软件社区开发者协作网络结构演化分析——以 Cloud Foundry社区为例

I propose to read this paper in a sharing session

  • Title:开源软件社区开发者协作网络结构演化分析——以 Cloud Foundry社区为例
  • Year:2019
  • Conference or Journal :复杂系统与复杂性科学 Complex Systems and Complexity Science
  • Rank:中文核心期刊、CSCD
  • Keywords:developer collaboration network; OSS community; structure and evolution
  • Link:https://xlab2017.yuque.com/msdpvs/dtg7ew/26248734
  • Selecting Reason:社区代码协作网络案例分析,静态网络结构分析,角色分析;内容与格式值得参考

充分利用 GitHub 上的信息转换功能,建立内容贡献流程

由于 GitHub 上有良好的信息转换功能,因此可以建立起一个信息扭转的贡献链:

Discussion ➡️ Issue ➡️ PR ➡️ Review ➡️ Wiki / Doc 等等

  • 一些最初的想法,可以从 Discussion 开始,头脑风暴;
  • 相对成熟后,可以设立正式的 Issue 议题;
  • 值得做的议题,就可以有认领或安排责任人来完成;
  • 责任人通过 PR 进行贡献提交;
  • 完成 Reveiw 后合并到正式的仓库上面。

形成一个完整的内容贡献流程~

Originally posted by @will-ww in #32 (comment)

[模板] 研究生开题模板迭代

创新是学术论文的系统性要求,而绝大部分创新都是在新的场景和问题下,对旧事物的重新组合与发挥,即绝大多数的论文是一种微创新。

选题就是选择适合的研究指向,三个关键词:选择、适合、研究指向。

  • 选择:一篇规范的学术论文有四个基本要素:研究视角、研究对象、研究方法、研究结果。选择就是在这个四个要素框架下进行组合。
  • 适合:学术论文是对个人经验和**的学术表达,结合自己实际的研究工作与情景,综合自己的兴趣与能力的合适选取。
  • 研究指向:选题阶段不追求精确性,而是把我整体结构要素的合理性,形成一个明确的问题目标,步骤可以包括”头脑风暴、文献定位、类比完善、可行性验证“,完成“从构思到研究指向再到研究选题“的过程。

下面是一个预开题的模板框架,帮助大家进行思考与迭代。

1. 题目

一个具体明确的题目是成功的一半

2 研究视角

视角的选取是创新的主要来源,由于研究问题的特殊性,产生不同视角下的问题抽象。这块最能体现研究者的功力与水平,但同时对研究者要求最高,需要丰富的经验与广博的学识。对于工程领域而言,视角的选取与工程技术的熟悉程度,以及工程实践的深度密切相关。

3. 研究对象

明确研究对象是选题中最核心的一个任务,也是后续其他任务的基础。广义来说,研究对象可以包括:人、物、事、理、模式。而对于工程技术来说,常见的包括:软件、服务、数据、算法、功能、流程等方面。

4. 研究方法

绝大多数的工程技术类研究主要是采用工程构建与量化分析的研究方法。为了解决某个具体的问题,提出一种方法或方案,通过实际系统的构建验证方法的有效性,其中找到恰当的评价手段来进行实验分析尤其重要。

5. 研究结果

对于大部分工程技术类题目来说,主要是实验结果,少数也可以是案例分析。重点是实验的设计、数据的获取与分析、以及结论分析等主要方面。

6. 参考阅读

相关领域的大量文献阅读必不可少,可以是正式的学术论文,也可以是参考书籍、文档、开源项目、技术博客、标准规范等。硕士开题一般不少于20篇深度阅读论文,博士则不少于40篇。

选题6步法:

  • 确定研究对象
  • 确定研究视角
  • 确定研究问题
  • 确定研究方法
  • 预设研究结果
  • 实验设计

范例1(张礼庆,同济大学17级硕士生)

题目 面向最大化内存共享与最小化运行时环境的超轻量级容器设计方法
研究对象 容器(Docker)及其重要属性(镜像体积、运行时资源占用量等)
研究视角 在线实训环节,需要对大量的容器进行生灭操作,关注容器在运行时的性能表现
研究问题 如何降低容器的镜像体积,以及在运行时的资源占用率
研究方法 分析并量化共享库与内存资源利用率之间的关系,提出了一种超轻量级的容器设计方法,将依赖库文件与可执行二进制文件单独抽取成层,以及通过细化可操作资源的粒度支撑应用程序运行的容器运行时环境最小化。
预期结果 现容器间即使仅 共享一小部分内容,就能对内存利用率造成非常显著的影响提出的方法能够在镜像体积、启动时间、内存占用比、磁盘 IO等方面优于已有方法
实验设计 将提出的方法与已有的Docker容器管理引擎在各指标上进行对比主要评测方面包括容器基本属性和 CPU、内存、磁盘 3 方面的性能表现选取 5 种具有代表性且被使用广泛使用的软件作为构建基准测试集,包括 Python、NodeJS、MySQL、Nginx 与 Tomcat

 

范例2(吴佳洁,华东师范大学18级硕士生)

题目 面向混合云系统的多指标异常检测和故障定位研究
研究对象 分布式混合云系统及其运行状态
研究视角 实训平台构建在公有云与私有云或者本地基础设施相结合的复杂混合云环境中
研究问题 如何通过采集并利用混合云系统的监控数据进行异常检测和故障定位
研究方法 设计一个混合云实时监控和数据采集框架,提出一种多指标异常检测和单指标故障定位算法,以及提出一种故障定位改进算法
实验设计 通过 Influxdb 和 Prometheus 开源软件搭建数据采集框架采集数据并标注异常点,构建实验数据集,同时也采用第三方公开数据集选取精准率、召回率、 F-1 分数作为评价指标
预期结果 提出的方法在上述指标下,优于一些传统的方法

整合论文分享知识库

论文PDF文件可以根据分类放在这里面。https://xlab2017.yuque.com/staff-kbz9wp/dtv0fr

我们需要整合下,论文的存放地,目前有两个:

x-publication 的说明文档在这里:https://xlab2017.yuque.com/msdpvs/me6vqg/odtmme

你看看有啥建议~ @bifenglin

Originally posted by @will-ww in #38 (comment)

[开题流程追踪]开源社区的社会资本度量方法及其在推荐算法中的应用(待优化)

本项目的视角是GitHub用户的兴趣特征,包括用户、开发者等不同的人群。从对项目的兴趣视角切入,通过分析反映开发者社交行为的数据(特别是Follow人、Star项目信息)来构建开发者社交网络(Developer social networks,DSN),结合开发者画像,进而开展开发者相似性度量的研究工作。

在此浅更一下毕业设计的开题进度~

欢迎讨论💕

Topic.md的分类树如何优化

主要有以下几个方面的问题:

  1. 标准化问题:语言是否要统一,如何统一?
  2. 简化Topic分类:按什么策略或视角简化,如何简化?
  3. 是否要按分类目录在PDF文件夹建立对应文件夹?

其他问题等待补充~

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.