5.4 库函数的约束求解策略
库函数是由系统建立的具有一定功能的函数的集合,不仅提高了程序的运行效率,节省了编程时间,也提高了程序的质量。因此,库函数被广泛地应用于工程代码中,尤其是大型工程中。另外,库函数本身实现的功能可能会对其输入参数的取值区间有一定的限制,这类限制可能会导致不可达路径的产生。由于库函数在工程中的广泛应用,对包含库函数的函数代码的不可达路径的判定以及生成测试用例是急需解决的问题。每个库函数都有其明确的功能,符号执行不但不能为包含库函数的复杂表达式生成适当的符号,也无法表示出其所代表的确定的函数功能和意义,当其出现在路径上的约束中时,就会导致此约束丢失以及区间运算不精确,从而用例生成失败。因此,必须提出一种库函数处理方法,该方法不仅能明确约束集合中包含库函数的约束的含义,还能根据其含义正确削减其输入参数的取值区间,判定路径可达性,进而正确生成测试用例。(https://www.daowen.com)