Coyote C++: An Industrial-Strength Fully Automated Unit Testing Tool
Sanghoon Rho, Philipp Martens, Seungcheol Shin, Yeoneo Kim, Hoon Heo, and SeungHyun Oh

TL;DR
Coyote C++ is an industrial-strength automated unit testing tool for C++ that uses concolic execution to achieve around 90% code coverage with no user involvement, demonstrating high effectiveness on real-world software.
Contribution
It introduces the first practical concolic testing tool for C++, enabling fully automated unit testing suitable for industrial use.
Findings
Achieves around 90% code coverage on C++ code
Operates with one-click automation without user involvement
Demonstrates effectiveness on open-source and industrial software
Abstract
Coyote C++ is an automated testing tool that uses a sophisticated concolic-execution-based approach to realize fully automated unit testing for C and C++. While concolic testing has proven effective for languages such as C and Java, tools have struggled to achieve a practical level of automation for C++ due to its many syntactical intricacies and overall complexity. Coyote C++ is the first automated testing tool to breach the barrier and bring automated unit testing for C++ to a practical level suitable for industrial adoption, consistently reaching around 90% code coverage. Notably, this testing process requires no user involvement and performs test harness generation, test case generation and test execution with "one-click" automation. In this paper, we introduce Coyote C++ by outlining its high-level structure and discussing the core design decisions that shaped the implementation of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software System Performance and Reliability · Software Engineering Research
