Production-Driven Patch Generation and Validation
This work addresses the challenge of reducing downtime and maintenance costs for software developers by enabling automated patch generation in production environments, representing a novel and disruptive approach rather than an incremental improvement.
The paper tackles the problem of automatically generating patches for production failures, proposing a program repair scheme applicable directly to production. It presents Itzal, a prototype system for Java that addresses uncaught exceptions, validated through empirical experiments on 34 failures from 14 applications and 16 seeded failures in 3 e-commerce apps with realistic traffic.
We envision a world where the developer would receive each morning in her GitHub dashboard a list of potential patches that fix certain production failures. For this, we propose a novel program repair scheme, with the unique feature of being applicable to production directly. We present the design and implementation of a prototype system for Java, called Itzal, that performs patch generation for uncaught exceptions in production. We have performed two empirical experiments to validate our system: the first one on 34 failures from 14 different software applications, the second one on 16 seeded failures in 3 real open-source e-commerce applications for which we have set up a realistic user traffic. This validates the novel and disruptive idea of using program repair directly in production.