An Evaluation of Symbolic Execution for Test Generation in Open-Source C/C++ Software
摘要
Developing software demands strict compliance with high quality and reliability criteria. When dealing with safety-critical systems, where failures can cause severe consequences, these requirements become even more critical, making the testing process especially important and costly in terms of resources. The automated generation of test cases has arisen as a potent method for identifying a greater number of defects while diminishing the need for manual intervention. In particular, Dynamic Symbolic Execution (DSE) has been presented in the literature as an effective technique for the automatic generation of test cases in programs written in C/C++. This work presents a study on its practical applicability in open-source C/C++ projects, using the tools KLEE and gcov to evaluate its effectiveness and the challenges encountered. Additionally, the advantages and limitations of this technique in real-world settings are discussed, along with potential strategies to enhance its applicability.