一种基于黑盒函数与机器学习的代码测试生成方法和装置

    公开(公告)号:CN108763064A

    公开(公告)日:2018-11-06

    申请号:CN201810442423.7

    申请日:2018-05-10

    Applicant: 南京大学

    Abstract: 本发明公开了一种基于黑盒函数与机器学习的代码测试生成方法和装置。本发明通过对被测程序代码静态分析,提取先前测试未覆盖的节点所对应的未覆盖路径,然后将未覆盖路径上的复杂结构的程序代码用黑盒函数打包后,采用基于学习验证的约束求解器和符号执行分析器进行验证求解,得到能够覆盖先前测试未覆盖的节点的测试用例数据,从而使得测试工程师能够利用这些测试用例数据进行回归测试从而测试覆盖先前测试未覆盖的节点。本发明将被测程序中的复杂代码替换成黑盒函数,减少了符号执行过程中对复杂代码片段的分析,将更多系统资源分配在对目标结点覆盖的求解上,从而提高了程序分析效率和目标节点的覆盖率。

    一种基于模型转换的从iOS到Android的跨平台页面转化方法

    公开(公告)号:CN107729011A

    公开(公告)日:2018-02-23

    申请号:CN201711015000.9

    申请日:2017-10-25

    Applicant: 南京大学

    Abstract: 本发明公开了一种基于模型转换的从iOS到Android的跨平台页面转化方法,分为两个部分:①对应模型生成;②模型匹配转化。本发明使用了模型学习的方法,通过学习已有的具有Android和iOS两个版本的应用,构建了一个存放着模型对应关系的数据集合。对于一个需要转化的具有Storyboard的iOS工程,将其进行模型抽取并通过匹配算法转化所得模型。此外,本发明的思路会对其他的工程设计有着借鉴意义。

    一种多触发机制CPS在线建模与检验的方法和装置

    公开(公告)号:CN104866317B

    公开(公告)日:2018-02-16

    申请号:CN201510298635.9

    申请日:2015-06-03

    Applicant: 南京大学

    Abstract: 本发明公开了一种多触发机制CPS在线建模与检验的方法和装置。本发明通过指令变更指令执行时,总是在执行前指令变更提前时间A时间内发出指令变更预告信息,然后在执行在线验证时按时间周期D执行系统在线验证。指令变更提前时间A和时间周期D之间满足条件:A≥2D。在这种本发明的设计方案下,指令变更发生后总能经过对指令变更的情形进行在线验证,从而避免由于指令变更引发的“空窗期”,保证系统运行的安全。

    基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法

    公开(公告)号:CN104732152B

    公开(公告)日:2017-11-24

    申请号:CN201510161507.X

    申请日:2015-04-07

    Applicant: 南京大学

    Abstract: 本发明涉及一种基于符号执行路径剪枝的缓冲区溢出漏洞自动检测方法,首先使用漏洞特征匹配方法得到大量含有误报的漏洞疑似路径,其次利用基于状态空间缩减和路径剪枝的符号执行技术验证设定的漏洞疑似静态分析路径,在检测点处通过构建溢出模型以及约束求解判断该漏洞是否有测试用例能够触发。本发明使用动静态结合的方法自动加测缓冲区溢出漏洞,能够运用于漏洞检测以及安全审计,代替人工自动验证静态分析缓冲区溢出漏洞的结果等方向,能够快速进行自动检测并生成溢出漏洞触发测试用例,有效节省时间和人力成本。

    一种基于API文档的约束自动生成方法

    公开(公告)号:CN106873973A

    公开(公告)日:2017-06-20

    申请号:CN201611252798.4

    申请日:2016-12-30

    Applicant: 南京大学

    Abstract: 本发明公开了一种基于API文档的约束自动生成方法,包括如下步骤:首先输入一个URL;提取网页中类和函数的文字描述;对提取的句子进行一定的分析;然后使用NLP技术为每个句子生成一个树结构;识别树结构中的参数和结构生成树的中间表示形式;基于中间表示形式定义约束模板;最后遍历树结构自动生成相应的约束;本发明主要特点是通过API文档自动生成API函数的约束,方便程序员更好的理解API函数,并且能够弥补现有代码分析工具分析API函数的不足,使得代码分析工具能更好的分析源代码。

    一种递归最大执行频度与深度的静态估计方法

    公开(公告)号:CN104317773B

    公开(公告)日:2017-05-24

    申请号:CN201410589530.4

    申请日:2014-10-28

    Applicant: 南京大学

    Abstract: 本发明提出了一种递归最大执行频度与最大执行深度的静态估计方法,该方法通过静态扫描程序源代码以定位递归作用域并收集递归中函数调用与返回的执行条件,然后引入可满足性模求解器来求解这些收集到的符号条件约束,并最终直接获得估计结果。由于避免了反复执行程序,相比于传统的动态估计方法,本发明的方法具有更为高效、准确等优点。所分析的结果可以帮助程序设计、开发、维护人员用于性能优化、能耗估计、实时性分析等计算机应用技术领域。

    一种基于扩展的IFML的移动应用的测试用例生成方法

    公开(公告)号:CN106227667A

    公开(公告)日:2016-12-14

    申请号:CN201610607871.9

    申请日:2016-07-28

    Applicant: 南京大学

    CPC classification number: G06F11/3676 G06F11/3684

    Abstract: 本发明涉及基于扩展的IFML模型的移动应用的测试用例生成方法,先建立模型,即针对待测试的移动应用绘制出其对应的IFML模型;建立模型所使用到的IFML,是在原IFML标准基础上,加入了针对移动应用建模的扩展内容,包括针对视图容器增添了扩展子类型工具栏ToolBar和屏幕容器,针对视图组件增添了扩展子类型移动控件,针对事件Event增添了扩展子类型移动端系统事件,移动端事件和移动端行为活动事件,针对行为活动增添了扩展子类型移动端行为活动。按照选定的测试覆盖准则生成符合要求的测试用例。

    一种面向线性约束代码的有界可达性验证方法

    公开(公告)号:CN105808429A

    公开(公告)日:2016-07-27

    申请号:CN201610122074.1

    申请日:2016-03-03

    Applicant: 南京大学

    CPC classification number: G06F11/3608

    Abstract: 本发明公开了一种面向线性约束代码的有界模型验证方法,包括如下步骤:步骤1:构建代码的控制流程图CFG状态模型;步骤2:结合步骤1中构建的CFG状态模型,从程序的起始状态起,验证代码的CFG状态模型在有界步数K之内是否可达,直到K步之内的所有路径遍历结束或者某条路径可达为止;最后给出验证结果。本发明使用了SAT,SMT和IIS反馈等技术对代码模型的可达性验证过程进行了优化,可以有效缩短代码的验证时间和减少待寻找路径的数目,较现有的DFS算法的可达性验证效率更高,可以帮助软件测试人员更高效地进行代码的验证工作。

    基于路径片段频谱的符号执行搜索方法

    公开(公告)号:CN103870391B

    公开(公告)日:2016-05-11

    申请号:CN201410055286.3

    申请日:2014-02-18

    Applicant: 南京大学

    Abstract: 本发明提出一种基于路径片段频谱的符号执行搜索方法,该方法引入路径片段频谱的概念,不同的路径片段频谱从各个角度分析程序执行的行为,以获得不同层次的程序行为分析,构成程序行为的框架。该方法通过对符号执行过程中的程序路径频谱数据进行分析,指导符号执行探索当前状态下程序中探索较少的部分,以获得更高的程序覆盖度和更好的查错能力。本发明可以集成在各种符号执行工具中,通过调整路径片段的长度来指导符号执行以不同精度探索程序的状态空间。

Patent Agency Ranking