基于人类动力学和复杂网络的开发者行为及兴趣研究
发布时间:2017-12-27 14:36
本文关键词:基于人类动力学和复杂网络的开发者行为及兴趣研究 出处:《中国科学技术大学》2017年博士论文 论文类型:学位论文
更多相关文章: 开源协同开发 人类动力学 复杂网络 二部网络 多层网络 协同相似性 依赖中心性相似性
【摘要】:近几十年信息技术飞速发展并且被广泛地应用到各个行业。软件作为信息技术的关键组成部分一直驱动着社会创新,改善这人们的工作和日常生活。如今我们的生活和工作更是严重依赖各种各样的软件。软件和软件开发者成了社会创新的关键驱动力。因此研究软件开发者的行为及其与软件项目之间的关系十分必要。现代软件工程提倡开源协作精神。成立于2008年4月的GitHub就是一个开源协同开发平台。GitHub提供丰富的社会化功能帮助开发者更好的与软件项目交互。大量软件开发者聚集于GitHub,因此GitHub也积累了大量开发者的行为数据以及开发者与开发者、开发者与软件项目之间的交互关系数据。在本文中我们从人类动力学的角度研究了软件开发者的博客发表行为,并借助复杂网络的理论和工具研究了软件开发者与软件项目之间的关系,揭示了软件开发者的兴趣特性。对软件开发者在GitHub平台的博客发表行为的人类动力学实证分析表明软件开发者的博客提交数目和提交时间间隔具有明显的胖尾分布特性。与其他在线平台相比,GitHub上发表博文因为更正式内容长度更长,因此提交数目分布更加同质而提交时间间隔更加异质。通过对比普通开发者和精英开发者的行为,我们发现普通开发者具有低记忆性和高阵发性而精英开发者具有低记忆性和低阵发性,表明精英分子对于提交博文的兴趣是一个长期的兴趣,且他们将提交博文作为自己日常常规工作来对待。我们提出了多层二部网络的向量表示形式并将开发者与软件项目之间的多种关系建模为多层二部网络来分析其兴趣的广泛性。分析结果表明,watching层的开发者和软件项目的协同相似性都与度负相关,而在forking层开发者的协同相似性与度正相关,软件项目的协同相似性与度却没有明显的相关性。这表明软件开发者在使用GitHub提供的不同的社会化功能与软件项目建立联系的时候兴趣是有差异的。更进一步,我们从软件开发者对于软件品质方面的兴趣来分析,提出了依赖中心性相似性指标,并基于该指标进行了实证分析。结果显示,开发者的近邻中心性与度负相关,而软件项目的近邻中心性在均值附近波动。表明开发者在GitHub上成长过程中由于可以主动选择项目所以变得越来越实用化,慢慢会更多的关注对自己实用的软件项目而不是一味的关注高流行度和高品质项目。而项目在发展的过程中因为只能被动选择,所以关注项目的高质量开发者和普通开发者会保持一个稳定的比例。对于watching层和forking层的开发者和项目,其依赖中心性相似性都与度负相关,表明度越大,在近邻品质方面的兴趣越广泛。
[Abstract]:In recent decades, information technology has developed rapidly and has been widely used in various industries. As a key component of information technology, software has been driving social innovation and improving the work and daily life of the people. Today, our lives and work are much more dependent on all kinds of software. Software and software developers have become the key drivers of social innovation. Therefore, it is necessary to study the behavior of software developers and their relationship with the software projects. Modern software engineering advocates the spirit of open source collaboration. GitHub, founded in April 2008, is an open source collaborative development platform. GitHub provides a rich socialized function to help developers better interact with software projects. A large number of software developers have gathered in GitHub, so GitHub has also accumulated a lot of developers' behavioral data, as well as the interaction data between developers and developers, developers and software projects. In this paper, we studied the blog publication behavior of software developers from the perspective of human dynamics, and studied the relationship between software developers and software projects with the help of complex network theory and tools, and revealed the interest characteristics of software developers. The human dynamics empirical analysis of the behavior of software developers on GitHub platform blogs shows that the number of blog submissions and the time of submission time of software developers have obvious fat tail distribution characteristics. Compared with other online platforms, blog posts published on GitHub are more formal and content length is longer. Therefore, the number of submissions is more homogeneous and the time of submission is more heterogeneous. By comparison with ordinary developers and elite developers behavior, we find ordinary developers with low memory and high paroxysmal and elite developers with low memory and low paroxysmal, showed that the elite is a long-term interest in the post submit interest, and they will be submitted to the post as their routine work to treat. We propose a vector representation of two tier networks, and model the relationships between developers and software projects into two multi-layer networks to analyze the universality of their interests. The analysis results show that the co similarity between watching layer developers and software projects is negatively correlated with the degree, while the co similarity is positively correlated with the forking level. The similarity and degree of software project collaboration is not significantly correlated. This shows that there are differences in interest between software developers when using different socialized functions provided by GitHub to establish connections with software projects. Furthermore, we analyze the interest of software developers in terms of software quality, and propose centrality based similarity index, and make an empirical analysis based on this index. The results show that the centrality of the neighbour of the developer is negatively related to the degree of degree, while the near neighbour of the software project fluctuates near the mean value. It shows that developers can become more and more practical because they can choose projects on their own when they grow up on GitHub. They will pay more attention to their practical software projects rather than focusing on high popularity and high quality projects. While the project is only passively selected in the process of development, the high quality developers and ordinary developers who are concerned about the project will maintain a stable proportion. For developers and projects of watching level and forking level, their dependence on centrality similarity is negatively correlated with degree. The greater the lightness is, the more interested they are in neighborhood quality.
【学位授予单位】:中国科学技术大学
【学位级别】:博士
【学位授予年份】:2017
【分类号】:O157.5
【参考文献】
相关期刊论文 前3条
1 周涛;韩筱璞;闫小勇;杨紫陌;赵志丹;汪秉宏;;人类行为时空特性的统计力学[J];电子科技大学学报;2013年04期
2 赵飞;刘金虎;查一龙;周涛;;在线协同写作的人类动力学分析[J];物理学报;2011年11期
3 郭进利;;一个人类行为动力学模型及其精确解[J];物理学报;2010年06期
,本文编号:1342114
本文链接:https://www.wllwen.com/shoufeilunwen/jckxbs/1342114.html
教材专著