-
-
公开(公告)号:CN111444112B
公开(公告)日:2023-12-12
申请号:CN202010344638.2
申请日:2020-04-27
Applicant: 南京大学
Abstract: 本发明公开了一种基于共享不可行路径池的代码并行验证方法和装置。该方法分为初始化过程、找出潜在路径过程和对潜在路径分析过程。在初始化过程中,输入的源程序和验证目标被构建成相应的SAT约束编码G。然后通过对不可行路径池中路径和SAT约束编码G的SAT求解,得到其SAT解对应的路径作为潜在路径存入并行任务池。再以多线程并行方式对并行任务池各个潜在路径进行SMT求解,若SMT无解,则抽取不可满足的最小集合X对应的不可行程序路径片段加入至不可行路径池。由此通过迭代,最终得到验证目标是否可达。为提高验证效率,本发明还增加了对不可行路径剪枝步骤。相比于现有技术,本发明大大提高代码验证效率。
-
公开(公告)号:CN106843849B
公开(公告)日:2020-04-14
申请号:CN201611233727.X
申请日:2016-12-28
Applicant: 南京大学
Abstract: 本发明的基于文档的库函数的代码模型的自动合成方法,包括步骤:1.从文档中抽取有用信息;2.使用自然语言处理工具生成句子的语法树;3.对步骤2中生成的语法树进行结构上的变换生成多个语法树的变体;4.对步骤3中生成的语法树进行分析,识别其中的参数、程序结构以及操作语义,生成候选的代码模型;5.对步骤4中的候选模型进行检验,删除与原始的类库具有行为不一致的候选模型。本发明综合使用了自然语言处理技术与自动化测试技术,成功地为Java容器类生成了代码模型,生成的代码模型可以有效地提高其它程序分析技术的正确性和效率,解决了程序分析过程中由于类库源代码缺失或者类库源代码过于复杂导致难以分析等问题。
-
公开(公告)号:CN108694285A
公开(公告)日:2018-10-23
申请号:CN201810466424.5
申请日:2018-05-16
Applicant: 南京大学
IPC: G06F17/50
CPC classification number: G06F17/5009
Abstract: 本发明公开了一种分析组合线性混成自动机全局可达的方法和装置。本发明通过对组合线性混成自动机进行路径编码,编码成相应的SAT约束和SMT约束,经相应的SAT约束求解器和SMT约束求解器求解实现有界模型检验,并在检验过程中利用SMT约束求解器收集不可达路径片段。然后将不可达路径片段编码成相应的LTL约束,通过LTL验证工具验证组合线性混成自动机全局可达性。本发明可验证复杂组合线性混成自动机的全局可达性。
-
公开(公告)号:CN106843849A
公开(公告)日:2017-06-13
申请号:CN201611233727.X
申请日:2016-12-28
Applicant: 南京大学
Abstract: 本发明的基于文档的库函数的代码模型的自动合成方法,包括步骤:1.从文档中抽取有用信息;2.使用自然语言处理工具生成句子的语法树;3.对步骤2中生成的语法树进行结构上的变换生成多个语法树的变体;4.对步骤3中生成的语法树进行分析,识别其中的参数、程序结构以及操作语义,生成候选的代码模型;5.对步骤4中的候选模型进行检验,删除与原始的类库具有行为不一致的候选模型。本发明综合使用了自然语言处理技术与自动化测试技术,成功地为Java容器类生成了代码模型,生成的代码模型可以有效地提高其它程序分析技术的正确性和效率,解决了程序分析过程中由于类库源代码缺失或者类库源代码过于复杂导致难以分析等问题。
-
公开(公告)号:CN106708536A
公开(公告)日:2017-05-24
申请号:CN201710021560.9
申请日:2017-01-12
Applicant: 南京大学
CPC classification number: G06F8/20 , G06F9/4812
Abstract: 本发明公开了一种中断驱动系统程序生成和分析方法,包括以下步骤:获取中断驱动系统设计数据;根据中断驱动系统设计数据建立中断驱动系统模型;根据中断驱动系统模型导出代码框架,所述代码框架包括中断处理程序、系统任务处理程序;将系统任务处理程序中的任务子函数人工填充完整,并使用WCET分析工具分析其函数最坏运行时间,对比源代码框架中的最坏时间标注,判断其是否满足要求进行处理。本发明将各类不同具体运用场景下的中断驱动系统归纳转化为某种相对固定的模型并由此生成代码框架,可以减少程序错误和提高开发效率,并在此基础上做进一步代码分析,确定是否满足中断驱动系统设计需求。
-
公开(公告)号:CN103279631B
公开(公告)日:2016-01-20
申请号:CN201310264462.X
申请日:2013-06-27
Applicant: 南京大学
IPC: G06F17/50
Abstract: 本发明提供了一种设计模式制导的爪哇代码评审方法,用户首先要提供待评审的爪哇(Java)程序的源代码及其设计时信息,对设计时信息中的类图进行分析,提取出设计模式信息,生成设计模式的各个参与角色的对应关系,根据该信息,利用预定义的规则模板,将规则模板实例化为一组应该在代码上满足的约束规则,读入这些规则对待评审的Java源代码的抽象语法树进行分析,判断其实现是否满足了设计时的约束,对于那些不满足约束的情况给出提示。本发明能够自动的对代码进行评审,减少整个评审过程中人工检查代码的工作量,提高代码的评审效率。
-
公开(公告)号:CN110705316A
公开(公告)日:2020-01-17
申请号:CN201910935932.8
申请日:2019-09-29
Applicant: 南京大学
IPC: G06F40/42
Abstract: 本发明公开了一种由智能家居生成线性时序逻辑规约的方法和装置,用于在智能家居领域中将用户输入的自然语言需求文本转换成线性时序逻辑规约。该方法首先对输入的自然语言文本进行预处理;然后使用自然语言处理技术,生成语法分析树和语法依存关系;识别句子中的各个子句,以及每个子句中的主语、谓语、宾语、布尔运算符、条件变量和时序运算符,生成树形的中间表示形式;最后遍历树结构,自动生成对应的线性时序逻辑规约。本发明解决了普通智能家居用户难以直接提供形式化规约的问题,有效节约时间和人力成本,并且能够弥补现有智能家居物联网验证系统的不足,使得不具备专业知识的普通用户所提出的自然语言需求能够被自动的验证。
-
公开(公告)号:CN104503837B
公开(公告)日:2017-10-10
申请号:CN201510019677.4
申请日:2015-01-15
Applicant: 南京大学
IPC: G06F9/48
Abstract: 基于偏序规约的中断驱动系统有界模型检验方法,该方法采用偏序规约来约减中断驱动系统有界模型检验状态遍历过程中的路径和状态。本发明根据中断驱动系统所具有的性质,首先定义中断处理程序之间的依赖关系;然后通过静态分析,得到中断处理程序之间的相互依赖关系,并用矩阵表示;最后在状态空间遍历过程中,当全局状态上有多个中断同时满足触发条件时,将这些中断根据相互依赖关系生成偏序路径,并按照此路径执行到达新的全局状态。本发明的目的是约去冗余的遍历路径,约减状态空间,缩短验证时间。本发明具有广泛的适用性,能大幅减少中断驱动系统的模型检验时间,适用于包含较多中断数量的中断驱动系统。
-
公开(公告)号:CN103336884A
公开(公告)日:2013-10-02
申请号:CN201310209987.3
申请日:2013-05-30
Applicant: 南京大学
IPC: G06F19/00
Abstract: 本发明提出一类非线性混成系统的建模与面向路径的可达性分析方法,步骤1:对非线性混成系统进行建模,得到非线性混成自动机;步骤2:判断非线性混成自动机的凸性混成;当混成自动机每一个节点上的状态空间都为凸集时,称该混成自动机为凸性混成自动机;步骤3:若为凸性混成自动机,则根据规则将待验证可达性问题编码为凸规划问题进行求解;对于编码后的凸规划问题,若该问题有解,则对应的路径满足可达性规约;最后针对其面向路径的可达性问题,给出将其可达性问题编码为凸规划可满足性问题的方法,并通过求解凸规划问题,给出半判定过程;本发明给出了凸性混成自动机的可达性分析,相对于基于近似和抽象的分析方法,有更好的效果。
-
-
-
-
-
-
-
-
-