An Empirical Study on Pull-requests Revisions in Open Source Artificial Intelligence Projects

被引:0
作者
Li Z.-X. [1 ]
Yu Y. [1 ]
Wang T. [1 ]
Cai M.-L. [1 ]
Wang H.-M. [1 ]
机构
[1] College of Computer, National University of Defense Technology, Changsha
来源
Ruan Jian Xue Bao/Journal of Software | 2023年 / 34卷 / 09期
关键词
artificial intelligence; code review; open source software; pull-request; revision;
D O I
10.13328/j.cnki.jos.006873
中图分类号
学科分类号
摘要
The recent boom in artificial intelligence (AI) benefits from the open source software (OSS) community. An increasing number of OSS developers are contributing to AI projects by submitting Pull-requests. However, the quality of pull-requests submitted by external contributors varies and the AI project management team has to review the pull-requests and ask contributors to revise them, if necessary. Since the process of revisions has a direct impact on the review efficiency and acceptance of pull-requests, it is important to achieve a better undersanding of pull request revisions. In this paper, we conducted an empirical study based on a set of pull-requests as well as their revision histories collected from the TensorFlow project.We first manually analyzed a sample of commit messages and review comments of pull-request and constructed a taxonomy of revision types.Then, according to the defined taxonomy, we manually labeled a large set of pull-request revisions.Based on the dataset, we explored the frequency and order of each type of revisions.We also investigated the co-occurrence and ajd-occurrenceprobability between different types of revisions.The emprirical findings show that: There are 11 different types of revisions which can be classified into three categories. Evolvability revisions occur more frequently than revisions of other types, and functional revisions are more likely to occur in the early updates of pull requests than evolvability revisions and other revisions. Structure-related revisions have a high chance to co-occur or ajd-occur with other revisions. Configuration-related revisions or rebasing revisions are more likely to appear in succession. © 2023 Chinese Academy of Sciences. All rights reserved.
引用
收藏
相关论文
共 34 条
  • [1] He K, Zhang X, Ren S, Et al., Deep residual learning for image recognition, Proceedings of the IEEE conference on computer vision and pattern recognition, pp. 770-778, (2016)
  • [2] Abadi M, Barham P, Chen J, Et al., TensorFlow: a system for Large-Scale machine learning, 12th USENIX symposium on operating systems design and implementation (OSDI 16), pp. 265-283, (2016)
  • [3] Hamet P, Tremblay J., Artificial intelligence in medicine, Metabolism, 69, pp. S36-S40, (2017)
  • [4] Chassignol M, Khoroshavin A, Klimova A, Et al., Artificial Intelligence trends in education: a narrative overview, Procedia Computer Science, 136, pp. 16-24, (2018)
  • [5] Gousios G, Pinzger M, Deursen A., An exploratory study of the pull-based software development model, Proceedings of the 36th international conference on software engineering, pp. 345-355, (2014)
  • [6] Zhu J, Zhou M, Mockus A., Effectiveness of code contribution: From patch-based to pull-request-based tools, Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 871-882, (2016)
  • [7] Vasilescu B, Yu Y, Wang H, Et al., Quality and productivity outcomes relating to continuous integration in GitHub[C], Proceedings of the 2015 10th joint meeting on foundations of software engineering, pp. 805-816, (2015)
  • [8] Yu Y, Wang H, Yin G, Et al., Reviewer recommendation for pull-requests in GitHub: What can we learn from code review and bug assignment?, Information and Software Technology, 74, pp. 204-218, (2016)
  • [9] Tsay J, Dabbish L, Herbsleb J., Influence of social and technical factors for evaluating contribution in GitHub, Proceedings of the 36th international conference on Software engineering, pp. 356-366, (2014)
  • [10] Chacon S, Straub B., Pro git, (2014)