"If we make this change to our code, how will it impact our clients?" It is difficult for library maintainers to answer this simple -- yet essential! -- question when evolving their libraries. Library maintainers are constantly balancing between two opposing positions: make changes at the risk of breaking some of their clients, or avoid changes and maintain compatibility at the cost of immobility and growing technical debt. We argue that the lack of objective usage data and tool support leaves maintainers with their own subjective perception of their community to make these decisions. We introduce BreakBot, a bot that analyses the pull requests of Java libraries on GitHub to identify the breaking changes they introduce and their impact on client projects. Through static analysis of libraries and clients, it extracts and summarizes objective data that enrich the code review process by providing maintainers with the appropriate information to decide whether -- and how -- changes should be accepted, directly in the pull requests.


翻译:图书馆维护者在演变图书馆时很难回答这个简单而必要的问题。 图书馆维护者经常在两个对立立场之间保持平衡: 以打破客户中某些客户的风险来做出改变, 或者避免变化, 并保持兼容性, 代价是无法移动和技术债务不断增加。 我们争辩说, 缺乏客观使用的数据和工具支持, 使得维护者对自己社区有主观看法, 才能做出这些决定。 我们引入了 BreakBot, 一个分析贾瓦图书馆在GitHub 上的拉动请求的机器人, 以辨明他们带来的断裂式变化及其对客户项目的影响。 通过对图书馆和客户的静态分析, 提取并总结客观数据, 通过向维护者提供适当的信息, 来丰富代码审查过程, 从而决定是否在拉动请求中直接接受 -- 以及如何接受变化 。

0
下载
关闭预览

相关内容

专知会员服务
123+阅读 · 2020年9月8日
专知会员服务
17+阅读 · 2020年9月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
77+阅读 · 2020年7月26日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
151+阅读 · 2019年10月12日
[综述]深度学习下的场景文本检测与识别
专知会员服务
77+阅读 · 2019年10月10日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
计算机 | 国际会议信息5条
Call4Papers
3+阅读 · 2019年7月3日
LibRec 精选:从0开始构建RNN网络
LibRec智能推荐
5+阅读 · 2019年5月31日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
spinningup.openai 强化学习资源完整
CreateAMind
6+阅读 · 2018年12月17日
计算机类 | SIGMETRICS 2019等国际会议信息7条
Call4Papers
9+阅读 · 2018年10月23日
分布式TensorFlow入门指南
机器学习研究会
4+阅读 · 2017年11月28日
【推荐】自然语言处理(NLP)指南
机器学习研究会
35+阅读 · 2017年11月17日
【推荐】用Python/OpenCV实现增强现实
机器学习研究会
14+阅读 · 2017年11月16日
【推荐】SVM实例教程
机器学习研究会
17+阅读 · 2017年8月26日
Arxiv
0+阅读 · 2022年1月12日
A Survey on Automated Fact-Checking
Arxiv
8+阅读 · 2021年8月26日
The Measure of Intelligence
Arxiv
6+阅读 · 2019年11月5日
VIP会员
相关VIP内容
专知会员服务
123+阅读 · 2020年9月8日
专知会员服务
17+阅读 · 2020年9月6日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
77+阅读 · 2020年7月26日
Keras François Chollet 《Deep Learning with Python 》, 386页pdf
专知会员服务
151+阅读 · 2019年10月12日
[综述]深度学习下的场景文本检测与识别
专知会员服务
77+阅读 · 2019年10月10日
机器学习入门的经验与建议
专知会员服务
92+阅读 · 2019年10月10日
相关资讯
计算机 | 国际会议信息5条
Call4Papers
3+阅读 · 2019年7月3日
LibRec 精选:从0开始构建RNN网络
LibRec智能推荐
5+阅读 · 2019年5月31日
Call for Participation: Shared Tasks in NLPCC 2019
中国计算机学会
5+阅读 · 2019年3月22日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
16+阅读 · 2018年12月24日
spinningup.openai 强化学习资源完整
CreateAMind
6+阅读 · 2018年12月17日
计算机类 | SIGMETRICS 2019等国际会议信息7条
Call4Papers
9+阅读 · 2018年10月23日
分布式TensorFlow入门指南
机器学习研究会
4+阅读 · 2017年11月28日
【推荐】自然语言处理(NLP)指南
机器学习研究会
35+阅读 · 2017年11月17日
【推荐】用Python/OpenCV实现增强现实
机器学习研究会
14+阅读 · 2017年11月16日
【推荐】SVM实例教程
机器学习研究会
17+阅读 · 2017年8月26日
Top
微信扫码咨询专知VIP会员