Thu 18 Jul 2024 14:00 - 14:18 at Acerola - Empirical Studies 3 Chair(s): Shane McIntosh

Libraries play a significant role in software development as they provide reusable functionality, which helps expedite the development process. As libraries evolve, they release new versions with optimisations like new functionality, bug fixes, and patches for known security vulnerabilities. To obtain these optimisations, the client applications that depend on these libraries must update to use the latest version. However, this can cause software failures in the clients if the update includes breaking changes. These breaking changes can be divided into syntactic and semantic (behavioral) breaking changes. While there has been considerable research on syntactic breaking changes introduced between library updates and their impact on client projects, there is a notable lack of research regarding behavioral breaking changes introduced during library updates and their impacts on clients. We conducted an empirical analysis to identify the impact behavioral breaking changes have on clients by examining the impact of dependency updates on client test suites. We examined a set of java projects built using Maven, which included 30,548 dependencies under 8,086 Maven artifacts. We automatically updated out-of-date dependencies and ran the client test suites. We found that 2.30% of these updates had behavioral breaking changes that impacted client tests. Our results show that most breaking changes were introduced during a non-Major dependency update, violating the semantic versioning scheme. We further analyzed the effects these behavioral breaking changes have on client tests. We present a taxonomy of effects related to these changes, which we broadly categorize as Test Failures and Test Errors. Our results further indicate that the library developers did not adequately document the exceptions thrown due to precondition violations.

Thu 18 Jul

Displayed time zone: Brasilia, Distrito Federal, Brazil change

14:00 - 15:30
Empirical Studies 3Research Papers / Journal First at Acerola
Chair(s): Shane McIntosh University of Waterloo
14:00
18m
Talk
Understanding the Impact of APIs Behavioral Breaking Changes on Client Applications
Research Papers
Dhanushka Jayasuriya University of Auckland, Valerio Terragni University of Auckland, Jens Dietrich Victoria University of Wellington, Kelly Blincoe University of Auckland
14:18
18m
Talk
Analyzing the BizDev Interface in an Enterprise Context: A Case of Developers Acting in Business
Journal First
Breno de França UNICAMP, Caique Moreira Instituto de Computação - Universidade Estadual de Campinas, Tayana Conte Universidade Federal do Amazonas
Link to publication DOI File Attached
14:36
18m
Talk
Silent Bugs in Deep Learning Frameworks: An Empirical Study of Keras and TensorFlow
Journal First
Florian Tambon Polytechnique Montréal, Amin Nikanjam École Polytechnique de Montréal, Le An Polytechnique Montreal, Foutse Khomh Polytechnique Montréal, Giuliano Antoniol Polytechnique Montréal
Link to publication DOI Authorizer link
14:54
18m
Talk
AROMA: Automatic Reproduction of Maven Artifacts
Research Papers
Mehdi Keshani Delft University of Technology, Tudor-Gabriel Velican Delft University of Technology, Gideon Bot Delft University of Technology, Sebastian Proksch Delft University of Technology
15:12
18m
Talk
An Empirical Study of Task Infections in Ansible Scripts
Journal First
Akond Rahman Auburn University, Dibyendu Brinto Bose Graduate Student, Yue Zhang Auburn University, Rahul Pandita GitHub, Inc.
Link to publication Authorizer link Pre-print