Samenvatting
'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.
Originele taal-2 | Engels |
---|---|
Titel | Proceedings - 2022 ACM/IEEE 44th International Conference on Software Engineering |
Subtitel | New Ideas and Emerging Results, ICSE-NIER 2022 |
Uitgeverij | IEEE Computer Society |
Pagina's | 26-30 |
Aantal pagina's | 5 |
ISBN van elektronische versie | 9781665495967 |
DOI's | |
Status | Gepubliceerd - 2022 |
Evenement | 44th ACM/IEEE International Conference on Software Engineering: New Ideas and Emerging Results, ICSE-NIER 2022 - Pittsburgh, Verenigde Staten van Amerika Duur: 22 mei 2022 → 27 mei 2022 |
Congres
Congres | 44th ACM/IEEE International Conference on Software Engineering: New Ideas and Emerging Results, ICSE-NIER 2022 |
---|---|
Land/Regio | Verenigde Staten van Amerika |
Stad | Pittsburgh |
Periode | 22/05/22 → 27/05/22 |
Bibliografische nota
Publisher Copyright:© 2022 IEEE.
Financiering
We thank Théo Zimmerman, Matias Martinez, and Jurgen Vinju for their feedback on earlier versions of this manuscript, and Léonard Rizzo for the initial implementation of BreakBot. This work was partially funded by the French National Research Agency through grant ANR ALIEN (ANR-21-CE25-0007).