🤖 AI Summary
Open-world video games feature vast state spaces and complex behavioral trajectories, rendering conventional automated testing ineffective at detecting runtime failures such as hangs. To address this, we propose a two-stage fuzzing framework: in the first stage, high-level gameplay strategies—e.g., mission objectives and interaction logic—are mutated; in the second stage, fine-grained mutations of navigation paths and input sequences are guided by the evolved strategies. Real-time in-game state feedback drives adaptive test case evolution. Our approach overcomes the exploration bottlenecks inherent in end-to-end black-box fuzzing. Evaluated on real-world titles including *Minecraft* and *Grand Theft Auto V*, it discovers 17 novel hang classes, achieves a 3.2× improvement in path coverage over baseline tools, and demonstrates superior fault detection efficacy. The implementation is open-sourced, accompanied by empirical demonstrations.
📝 Abstract
Open-world video games present a broader search space than other games, posing challenges for test automation. Fuzzing, which generates new inputs by mutating an initial input, is commonly used to uncover failures. In this study, we proposed BiFuzz, a two-stage fuzzer designed for automated testing of open-world video games, and investigated its effectiveness. The results revealed that BiFuzz mutated the overall strategy of gameplay and test cases, including actual movement paths, step by step. Consequently, BiFuzz can detect `stucking' failures. The tool and its video are at https://github.com/Yusaku-Kato/BiFuzz.