Developer Social Network

Slides:



Advertisements
Similar presentations
迪士尼公主裙衫变化记. 《白雪公主和七个小孩人》 《白雪公主和七个小矮人》,是世界电影史上第一部长动 画片,也是迪士尼的第一部。《白雪公主》不仅为迪斯尼 带来了第一尊奥斯卡小人,更是拯救迪斯尼于水火的贵 人 —— 在经济大萧条的 1937 年的美国,《白雪公主》为迪 斯尼赚到了 850 万美元,这约等于现在的数亿美元!
Advertisements

西南政法大学图书馆 江波 重庆. 传统图书馆自动化图书馆复合图书馆数字图书馆  图书馆为图书流通服务所制定的相关规则,包 括图书流通类型、读者类型、读者可借阅图书 数量、可借阅时间、可续借时间、可续借次数、 可预约数量等。
教務處註冊組 /7 (二) 10 : 00 至 15 : 00 止 ★ 6/8 彙整報名資料後, 6/9 向高中承 辦學校報名 ★ 因校內作業時間緊迫,逾時恕不 受理。 校內報名時間.
一、老师申请题目,以下指导老 师操作。 1. 登录教务系统 web 端. 2. 点击 “ 毕业设计 ” 工具栏下拉菜单中的 “ 论文 _ 教师申请题目 ”
第五章 中山先生思想與台灣經驗 第一節 孫中山先生與台灣的關係
三水区安监局 企业安全用电 2013年4月.
企业价值收益法评估 ----财务报表调整 主讲人:阮咏华 1.
广西师范大学教科院马佳宏 电 话 0773- (O) 高校教师资格认定考试的若干事项 广西师范大学教科院马佳宏 电 话 0773- (O)
質性研究資料分析電腦軟體在質性研究中的應用
台 灣 頭 痛 學 會 全台有一百五十萬人為偏頭痛所苦,您是其中之一嗎? 簡介 為何會有偏頭痛? 偏頭痛自我檢測 宗旨與任務 頭痛網站
学校心理危机干预 ___学校心理危机的干预系统、 干预过程、干预技巧 浙江省学校心理健康教育指导中心 周红五
一百零一年溪口國小 學校日 班級: 三年三班 教師: 張慈麟.
职 业 礼 仪 讲师:刘巍女士.
李建民 教授 北京百川健康科学研究院 脊柱健康技术研究中心
1 理解技术 Understanding technical concepts
关注热点 2014年天猫双十一成交总额 571亿 点亮217个国家地区
第八章 网络课程的设计与开发.
三大自然区的内部差异 地理 全日制普通高级中学教科书(选修) 第二册 人民教育出版社地理社会室 编著 人民教育出版社 关于.
高等职业学校建筑设计类与艺术设计类专业骨干教师实践能力国家级培训
没有请柬该如何办 记者如何选取有利位置 着装 准备工作 提问时的注意事项
互联网时代班主任的挑战 万玮 2014年9月20日.
3.1能源资源的开发 ——以我国山西省为例.
珍惜时间 提高效率 初二1班
授課大綱 第一章 緒 論 第一節 應用文的意義 第二節 應用文的種類 第二章 書 信 第一節 書信的種類 第二節 書信的結構 第三章 便 條
OpenFoundry.org 版本控制系統服務 使用教學
Harvard ManageMentor®
DM81X 视频采集处理 ——MCFW框架介绍 广州创龙电子科技有限公司
SVN的基本概念 柳峰
鄉村尋根-農具篇.
Chinese Virtual Observatory
开发者社交网络 张伟强.
R in Enterprise Environment 企业环境中的R
SVN服务器的搭建(Windows) 柳峰
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
Visual Studio Team System 简介
利用Arduino制作定向装置 核科学与技术系 崔伟毅 梁嘉祺
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
PaPaPa项目架构 By:Listen 我在这.
本节我们结合AD5724驱动时序给大家介绍一下状态机在实际工程中的使用。
VSS使用简介 王树升
DevDays ’99 The aim of this mission is knowledge..
WSDM见闻 程龚.
Feature and function introduction to GIT & Linux June 22, 2013
Github已有工作调研 邹卫琴 南京大学 , 南京.
GitHub挖掘已有工作调研 邹卫琴 南京大学 , 南京.
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
SOA – Experiment 2: Query Classification Web Service
Version Control System Based DSNs
何勉 新浪微博: Scrum框架及其背后的原则 原始图片 何勉 新浪微博:
/ 第6讲:开放服务集成开发 冯顺磊 /
Service Desk 中央大學電算中心 簡宏傑.
VisComposer 2019/4/17.
The Promise of Research on Open Source Software
收集Github中开源项目的数据,用于实验分析 如:评估领导者特征,研究其对项目成功的影响 Github中可以获得的信息 项目的选择
关于开源软件的几篇论文.
台灣當代社會分析 社會、媒體與行動者的關聯:台灣資訊社會(二)
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
如何检索统计申请与在研项目(科研人员) “科研之友”技术支持小组
2.1 高職與私立學校註冊操作說明 (2015/9/15上線)
iSIGHT 基本培训 使用 Excel的栅栏问题
新竹縣108學年度第1次國小以上 特殊教育鑑定安置說明會
進修學院與我.
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
Touch Github = Touch the World
“修身成材” 班级干部培训班 黑龙江大学党委学工部.
第二节 函数的极限 一、函数极限的定义 二、函数极限的性质 三、小结 思考题.
慈惠醫護管理專科學校圖書館 館際合作使用方法.
“上海市教师教育课程资源共享管理平台” 学分银行操作指南
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
软件工程课程设计 分组信息说明
Presentation transcript:

Developer Social Network 张伟强

开发者社交网络(DSN) 背景 形成 研究意义 开源软件的发展(自组织、地理上分散的人员结构) 虚拟社区、社交网站的兴起 利用社交分析提高软件开发和维护的质量,降低成本

研究路线 如何抽取 如何分析 如何应用 以什么方式建立开发者之间的社交关系? 从哪些角度分析DSN?

抽取方式1:根据项目参与情况 建立社交连接的方式: 数据来源: 2个开发者参与过同一个项目,则在他们间建立联系 SourceForge.net(一个基于Web的项目支持网站,为开源项目提供项目管理工具、Bug跟踪、邮件列表服务、论坛、版本控制软件) 39000个项目,33000个开发者(2001.1~2002.3) 《The open source software development phenomenon: An analysis based on social network theory》2002 - Eighth Americas Conference on Information Systems

抽取方法2:根据文件提交行为 建立社交连接的方式 数据来源 在某个项目里,如果2个开发者修改过同一个模块/文件,则在他们间建立联系 源代码版本控制工具(CVS、SVN、Git) 《 Seeking the source: software source code as a social and technical artifact》 2005 - GROUP

抽取方法3:根据电子邮件往来 建立社交连接的方式 数据来源 如果2个开发者之间发送过email,则在他们间建立联系 public mailing list archive 《 Mining Email Social Networks》2006- MSR

抽取方法4:根据Bug报告评论 建立社交连接的方式 数据来源 以该方式建立DSN的原因 2个开发者评论过同一个Bug报告,则在他们间建立联系 Bug tracking system(Bugzilla、Jira) 以该方式建立DSN的原因 大部分Bug生存期短,意味着强烈的临时关系 Bug关注于具体的技术问题,在局部代码进行修改 《 Understanding a Developer Social Network and its Evolution》2011- ICSM

社交分析1:幂律分布 开发者的分布函数在Log-Log图中近似直线 开发者数量 参与项目数 修改文件数 发送email数 In-degree Out-degree …… 开发者的分布函数在Log-Log图中近似直线

社交分析2:“六度分隔” “小世界”性质

社交分析3:模块性 社区挖掘算法、模块性度量方法 DSN中是否存在清晰的社区结构

社交分析4:演化规律 开发者的加入和离开 开发者分布的演化 分隔程度的演化 模块性的演化 社区的演化 ………

社交分析5:团队结构与开发者地位

社交分析6:社交行为与开发行为的关系 发送email多的开发者是否在修改代码活动中也活跃? DSN中度数大的开发者是否完成了更多的Bug报告修复工作? ……

DSN应用示例1:预测failure 《Putting it all together: using socio-technical networks to predict failures》

DSN应用示例2:Bug Triage 《Developer Prioritization in Bug Repositories 》 在Bug报告分配这一任务中,根据开发者的历史行为(修复、评论)确定开发者擅长的Bug报告类型,建立分类器;当新的Bug报告出现时,推荐最合适的开发者。 定义开发者在DSN中的优先级,推荐修复Bug报告的开发者时把优先级高的排在前面

我们的想法 假设 实验对象 开发者社交网络应该与程序模块网络相一致 二者会在演化过程中越来越趋向一致 二者不一致的部分暗示着较差的软件质量(隐含Bug) 实验对象 Eclipse

2个网络的挖掘建立 DSN 程序模块网络 问题 Bug报告评论关系:Bugzilla 修改模块的关系:CVS 使用工具抽取(Dependency Finder) 问题 Bug报告与源代码的时间与版本

网络相似性比较 结点统一化 相似性比较 问题 先将程序模块网络中每个结点替换成开发者 根据开发者对模块的修改记录(CVS) 抽取出2个网络中的社区 找出2个网络间对应的社区,以重叠程度来度量相似性 问题 Bug跟踪系统中的开发者与版本控制系统中开发者的对应