Client--Library Compatibility Testing with API Interaction Snapshots
Gustave Monce (LaBRI), Thomas Degueule (LaBRI), Jean-R\'emy Falleri (LaBRI), Romain Robbes (LaBRI)

TL;DR
This paper introduces Gilesi, a Java framework that records API interaction snapshots during client tests to detect behavioral breaking changes in libraries that traditional tests might miss.
Contribution
It proposes a novel snapshot-based approach for client--library compatibility testing that leverages existing client tests without requiring additional assertions.
Findings
Gilesi reliably detects BBCs missed by traditional client tests.
Snapshot comparison effectively identifies behavioral changes in library APIs.
Preliminary case study validates the approach's effectiveness.
Abstract
Modern software development heavily relies on third-party libraries to speed up development and enhance quality. As libraries evolve, they may break the tacit contract established with their clients by introducing behavioral breaking changes (BBCs) that alter run-time behavior and silently break client applications without being detected at compile time. Traditional regression tests on the client side often fail to detect such BBCs, either due to limited library coverage or weak assertions that do not sufficiently exercise the library's expected behavior. To address this issue, we propose a novel approach to client--library compatibility testing that leverages existing client tests in a novel way. Instead of relying on developer-written assertions, we propose recording the actual interactions at the API boundary during the execution of client tests (protocol, input and output values,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
