针对C语言白盒测试用例自动生成问题,提出一套基于过程间的动态符号执行框架,建立基于Def-Use链和函数执行树的模型。以函数为单位进行约束收集,解决函数调用中实参和形参的符号统一问题;对过程间动态符号执行的SMART(systematic modular automated random testing)算法进行改进,利用其计算和使用函数摘要,提高动态符号执行的效率和可行性。该方案为C语言过程间测试自动化工具的实现提供了详细的解决方案。
Aiming at the automatic test case generation problem for the C white-box testing, a framework of the dynamic symbolic execution based on the inter-procedural analysis was presented. A model based on the Def-Use chain and the function execution tree was constructed. Constraints were collected by the function and the symbols of arguments and parameters in the function call were unified. An improved DSE-based SMART algorithm for computing using the function summary was designed to make the dynamic symbolic execution efficient and scalable. A detailed solution is provided for the realization of the automatic test case generation tool on the C inter-procedural testing.