Towards Life-long Software Self-validation in Production

Daohan Qu,Chaoyi Zhao,Yanyan Jiang,Chang Xu
DOI: https://doi.org/10.1145/3671016.3671382
2024-01-01
Abstract:The increasing complexity of software and its execution environment makes in-house software testing challenging. Field testing, which conducts software testing in production environments, is a potential solution to this issue. However, existing field testing systems have not seen widespread use due to their inconvenience, lack of generality, and limited capabilities. We identify four essential requirements that a practical field testing system must fulfill: robust, efficient, handy, and versatile. This paper presents the design and implementation of Jaft, a field testing system for Java software meeting the aforementioned requirements through its design of field testing API, isolation mechanism, and runtime module. Evaluation results show that it has acceptable runtime overhead and can improve test effectiveness.
What problem does this paper attempt to address?