English

Coyote C++: An Industrial-Strength Fully Automated Unit Testing Tool

Programming Languages 2023-10-24 v1 Software Engineering

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 its concolic execution engine. Finally, we demonstrate that Coyote C++ is capable of achieving high coverage results within a reasonable timespan by presenting the results from experiments on both open-source and industrial software.

Keywords

Cite

@article{arxiv.2310.14500,
  title  = {Coyote C++: An Industrial-Strength Fully Automated Unit Testing Tool},
  author = {Sanghoon Rho and Philipp Martens and Seungcheol Shin and Yeoneo Kim and Hoon Heo and SeungHyun Oh},
  journal= {arXiv preprint arXiv:2310.14500},
  year   = {2023}
}
R2 v1 2026-06-28T12:58:20.680Z