中文

Nalanda:用于构建企业级软件分析工具的社会技术图

软件工程 2022-09-21 v4

摘要

软件开发是信息密集的知识工作,需要与其他开发者协作,并了解工作项、拉取请求和文件等工件。随着开发速度的提升,信息过载对开发和维护这些系统的人员而言是一大挑战。寻找信息和人员对于软件工程师来说十分困难,尤其是在大型软件系统中工作或是刚加入项目不久时。本文中,我们构建了一个名为 Nalanda 平台的大规模数据平台,其包含两个子系统:1. 大规模社会技术图系统,名为 Nalanda 图系统;2. 大规模推荐系统,名为 Nalanda 索引系统,旨在满足软件开发者的信息需求。Nalanda 图是一个企业级图,数据来自 6,500 个代码仓库,包含 37,410,706 个节点和 128,745,590 条边。在 Nalanda 图系统之上,我们构建了软件分析应用,包括名为 MyNalanda 的信息流,仅依靠自然增长,其日活跃用户(DAU)达 290,月活跃用户(MAU)达 590。初步用户研究表明,受访的开发者和工程经理中 74% 倾向于持续使用该平台进行信息发现。Nalanda 索引系统由工件索引和专家索引两部分组成。它利用社会技术图(Nalanda 图系统)对结果排序,为软件开发者提供更好的推荐。大规模定量评估显示,Nalanda 索引系统在前三个推荐中提供了 78% 准确率的推荐。

关键词

引用

@article{arxiv.2110.08403,
  title  = {Nalanda: A Socio-Technical Graph for Building Software Analytics Tools at Enterprise Scale},
  author = {Chandra Maddila and Suhas Shanbhogue and Apoorva Agrawal and Thomas Zimmermann and Chetan Bansal and Nicole Forsgren and Divyanshu Agrawal and Kim Herzig and Arie van Deursen},
  journal= {arXiv preprint arXiv:2110.08403},
  year   = {2022}
}