-
公开(公告)号:CN108763064B
公开(公告)日:2020-07-07
申请号:CN201810442423.7
申请日:2018-05-10
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明公开了一种基于黑盒函数与机器学习的代码测试生成方法和装置。本发明通过对被测程序代码静态分析,提取先前测试未覆盖的节点所对应的未覆盖路径,然后将未覆盖路径上的复杂结构的程序代码用黑盒函数打包后,采用基于学习验证的约束求解器和符号执行分析器进行验证求解,得到能够覆盖先前测试未覆盖的节点的测试用例数据,从而使得测试工程师能够利用这些测试用例数据进行回归测试从而测试覆盖先前测试未覆盖的节点。本发明将被测程序中的复杂代码替换成黑盒函数,减少了符号执行过程中对复杂代码片段的分析,将更多系统资源分配在对目标结点覆盖的求解上,从而提高了程序分析效率和目标节点的覆盖率。
-
公开(公告)号:CN108763064A
公开(公告)日:2018-11-06
申请号:CN201810442423.7
申请日:2018-05-10
Applicant: 南京大学
IPC: G06F11/36
Abstract: 本发明公开了一种基于黑盒函数与机器学习的代码测试生成方法和装置。本发明通过对被测程序代码静态分析,提取先前测试未覆盖的节点所对应的未覆盖路径,然后将未覆盖路径上的复杂结构的程序代码用黑盒函数打包后,采用基于学习验证的约束求解器和符号执行分析器进行验证求解,得到能够覆盖先前测试未覆盖的节点的测试用例数据,从而使得测试工程师能够利用这些测试用例数据进行回归测试从而测试覆盖先前测试未覆盖的节点。本发明将被测程序中的复杂代码替换成黑盒函数,减少了符号执行过程中对复杂代码片段的分析,将更多系统资源分配在对目标结点覆盖的求解上,从而提高了程序分析效率和目标节点的覆盖率。
-
公开(公告)号:CN105808429A
公开(公告)日:2016-07-27
申请号:CN201610122074.1
申请日:2016-03-03
Applicant: 南京大学
IPC: G06F11/36
CPC classification number: G06F11/3608
Abstract: 本发明公开了一种面向线性约束代码的有界模型验证方法,包括如下步骤:步骤1:构建代码的控制流程图CFG状态模型;步骤2:结合步骤1中构建的CFG状态模型,从程序的起始状态起,验证代码的CFG状态模型在有界步数K之内是否可达,直到K步之内的所有路径遍历结束或者某条路径可达为止;最后给出验证结果。本发明使用了SAT,SMT和IIS反馈等技术对代码模型的可达性验证过程进行了优化,可以有效缩短代码的验证时间和减少待寻找路径的数目,较现有的DFS算法的可达性验证效率更高,可以帮助软件测试人员更高效地进行代码的验证工作。
-
-