Beware the evolving 'intelligent' web service! An integration architecture tactic to guard AI-first components
This addresses a critical robustness issue for software engineers relying on AI services, offering a practical mitigation strategy, though it is incremental as it builds on existing architectural tactics.
The paper tackles the problem of AI web services evolving over time, which can break dependent applications, and proposes an architectural tactic using benchmark datasets to detect such changes, demonstrating its effectiveness by identifying 1,054 confidence evolution cases and 2,461 label changes in a test with 331 images.
Intelligent services provide the power of AI to developers via simple RESTful API endpoints, abstracting away many complexities of machine learning. However, most of these intelligent services-such as computer vision-continually learn with time. When the internals within the abstracted 'black box' become hidden and evolve, pitfalls emerge in the robustness of applications that depend on these evolving services. Without adapting the way developers plan and construct projects reliant on intelligent services, significant gaps and risks result in both project planning and development. Therefore, how can software engineers best mitigate software evolution risk moving forward, thereby ensuring that their own applications maintain quality? Our proposal is an architectural tactic designed to improve intelligent service-dependent software robustness. The tactic involves creating an application-specific benchmark dataset baselined against an intelligent service, enabling evolutionary behaviour changes to be mitigated. A technical evaluation of our implementation of this architecture demonstrates how the tactic can identify 1,054 cases of substantial confidence evolution and 2,461 cases of substantial changes to response label sets using a dataset consisting of 331 images that evolve when sent to a service.