🤖 AI Summary
Distributed concurrent execution of microservices in cloud environments frequently induces race conditions; however, existing detection techniques suffer from high intrusiveness and poor adaptability to cross-service interactions. Method: This paper proposes a non-intrusive, automated concurrency vulnerability detection framework that leverages runtime library-level dynamic instrumentation and distributed tracing to model cross-service happened-before relationships and resource access patterns, coupled with a three-stage validation mechanism for precise, code-modification-free identification and localization of race conditions. Contribution/Results: Evaluated on an industrial-grade open-source microservice benchmark, our approach achieves significantly higher detection rates and substantially lower false-positive rates compared to state-of-the-art methods, while demonstrating strong architectural adaptability across diverse microservice deployments.
📝 Abstract
Modern cloud applications delivering global services are often built on distributed systems with a microservice architecture. In such systems, end-to-end user requests traverse multiple different services and machines, exhibiting intricate interactions. Consequently, cloud service systems are vulnerable to concurrency bugs, which pose significant challenges to their reliability. Existing methods for concurrency bug detection often fall short due to their intrusive nature and inability to handle the architectural complexities of microservices. To address these limitations, we propose MicroRacer, a non-intrusive and automated framework for detecting concurrency bugs in such environments. By dynamically instrumenting widely-used libraries at runtime, MicroRacer collects detailed trace data without modifying the application code. Such data are utilized to analyze the happened-before relationship and resource access patterns of common operations within service systems. Based on this information, MicroRacer identifies suspicious concurrent operations and employs a three-stage validation process to test and confirm concurrency bugs. Experiments on open-source microservice benchmarks with replicated industrial bugs demonstrate MicroRacer's effectiveness and efficiency in accurately detecting and pinpointing concurrency issues.