Breaking-Good: Explaining Breaking Dependency Updates with Build Analysis
Proceedings of IEEE International Conference on Source Code Analysis and Manipulation, 2024 Dependency updates often cause compilation errors when new dependency versions introduce changes that are incompatible with existing client code. Fixing breaking dependency updates is notoriously hard, as the...
Gespeichert in:
Hauptverfasser: | , , |
---|---|
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext bestellen |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | Proceedings of IEEE International Conference on Source Code
Analysis and Manipulation, 2024 Dependency updates often cause compilation errors when new dependency
versions introduce changes that are incompatible with existing client code.
Fixing breaking dependency updates is notoriously hard, as their root cause can
be hidden deep in the dependency tree. We present Breaking-Good, a tool that
automatically generates explanations for breaking updates. Breaking-Good
provides a detailed categorization of compilation errors, identifying several
factors related to changes in direct and indirect dependencies,
incompatibilities between Java versions, and client-specific configuration.
With a blended analysis of log and dependency trees, Breaking-Good generates
detailed explanations for each breaking update. These explanations help
developers understand the causes of the breaking update, and suggest possible
actions to fix the breakage. We evaluate Breaking-Good on 243 real-world
breaking dependency updates. Our results indicate that Breaking-Good accurately
identifies root causes and generates automatic explanations for 70% of these
breaking updates. Our user study demonstrates that the generated explanations
help developers. Breaking-Good is the first technique that automatically
identifies causes of a breaking dependency update and explains the breakage
accordingly. |
---|---|
DOI: | 10.48550/arxiv.2407.03880 |