Content area

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.

Details

1009240
Business indexing term
Title
Coyote C++: An Industrial-Strength Fully Automated Unit Testing Tool
Publication title
arXiv.org; Ithaca
Publication year
2023
Publication date
Oct 23, 2023
Section
Computer Science
Publisher
Cornell University Library, arXiv.org
Source
arXiv.org
Place of publication
Ithaca
Country of publication
United States
University/institution
Cornell University Library arXiv.org
e-ISSN
2331-8422
Source type
Working Paper
Language of publication
English
Document type
Working Paper
Publication history
 
 
Online publication date
2023-10-24
Milestone dates
2023-10-23 (Submission v1)
Publication history
 
 
   First posting date
24 Oct 2023
ProQuest document ID
2881056864
Document URL
https://www.proquest.com/working-papers/coyote-c-industrial-strength-fully-automated-unit/docview/2881056864/se-2?accountid=208611
Full text outside of ProQuest
Copyright
© 2023. This work is published under http://arxiv.org/licenses/nonexclusive-distrib/1.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.
Last updated
2023-10-25
Database
ProQuest One Academic