一种基于文档的库函数的代码模型的自动合成方法

    公开(公告)号:CN106843849B

    公开(公告)日:2020-04-14

    申请号:CN201611233727.X

    申请日:2016-12-28

    Applicant: 南京大学

    Abstract: 本发明的基于文档的库函数的代码模型的自动合成方法,包括步骤:1.从文档中抽取有用信息;2.使用自然语言处理工具生成句子的语法树;3.对步骤2中生成的语法树进行结构上的变换生成多个语法树的变体;4.对步骤3中生成的语法树进行分析,识别其中的参数、程序结构以及操作语义,生成候选的代码模型;5.对步骤4中的候选模型进行检验,删除与原始的类库具有行为不一致的候选模型。本发明综合使用了自然语言处理技术与自动化测试技术,成功地为Java容器类生成了代码模型,生成的代码模型可以有效地提高其它程序分析技术的正确性和效率,解决了程序分析过程中由于类库源代码缺失或者类库源代码过于复杂导致难以分析等问题。

    一种基于文档的库函数的代码模型的自动合成方法

    公开(公告)号:CN106843849A

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

    申请号:CN201611233727.X

    申请日:2016-12-28

    Applicant: 南京大学

    Abstract: 本发明的基于文档的库函数的代码模型的自动合成方法,包括步骤:1.从文档中抽取有用信息;2.使用自然语言处理工具生成句子的语法树;3.对步骤2中生成的语法树进行结构上的变换生成多个语法树的变体;4.对步骤3中生成的语法树进行分析,识别其中的参数、程序结构以及操作语义,生成候选的代码模型;5.对步骤4中的候选模型进行检验,删除与原始的类库具有行为不一致的候选模型。本发明综合使用了自然语言处理技术与自动化测试技术,成功地为Java容器类生成了代码模型,生成的代码模型可以有效地提高其它程序分析技术的正确性和效率,解决了程序分析过程中由于类库源代码缺失或者类库源代码过于复杂导致难以分析等问题。

    一种智能家居线性时序逻辑规约生成的方法和装置

    公开(公告)号:CN110705316A

    公开(公告)日:2020-01-17

    申请号:CN201910935932.8

    申请日:2019-09-29

    Applicant: 南京大学

    Abstract: 本发明公开了一种由智能家居生成线性时序逻辑规约的方法和装置,用于在智能家居领域中将用户输入的自然语言需求文本转换成线性时序逻辑规约。该方法首先对输入的自然语言文本进行预处理;然后使用自然语言处理技术,生成语法分析树和语法依存关系;识别句子中的各个子句,以及每个子句中的主语、谓语、宾语、布尔运算符、条件变量和时序运算符,生成树形的中间表示形式;最后遍历树结构,自动生成对应的线性时序逻辑规约。本发明解决了普通智能家居用户难以直接提供形式化规约的问题,有效节约时间和人力成本,并且能够弥补现有智能家居物联网验证系统的不足,使得不具备专业知识的普通用户所提出的自然语言需求能够被自动的验证。

    一种智能家居线性时序逻辑规约生成的方法和装置

    公开(公告)号:CN110705316B

    公开(公告)日:2023-03-24

    申请号:CN201910935932.8

    申请日:2019-09-29

    Applicant: 南京大学

    Abstract: 本发明公开了一种智能家居线性时序逻辑规约生成的方法和装置,用于在智能家居领域中将用户输入的自然语言需求文本转换成线性时序逻辑规约。该方法首先对输入的自然语言文本进行预处理;然后使用自然语言处理技术,生成语法分析树和语法依存关系;识别句子中的各个子句,以及每个子句中的主语、谓语、宾语、布尔运算符、条件变量和时序运算符,生成树形的中间表示形式;最后遍历树结构,自动生成对应的线性时序逻辑规约。本发明解决了普通智能家居用户难以直接提供形式化规约的问题,有效节约时间和人力成本,并且能够弥补现有智能家居物联网验证系统的不足,使得不具备专业知识的普通用户所提出的自然语言需求能够被自动的验证。

    一种自动合成常用循环的摘要并生成程序规约的方法

    公开(公告)号:CN106681786A

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

    申请号:CN201710005782.1

    申请日:2017-01-05

    Applicant: 南京大学

    CPC classification number: G06F8/42 G06F8/436

    Abstract: 本发明的自动合成常用循环的摘要并生成程序规约的方法,包括步骤:1.生成待验证程序的抽象语法树;2.分析步骤1生成的抽象语法树来生成程序语句的摘要;3.对步骤2中生成的摘要进行分析生成程序语句的规约;4.对步骤3中生成的规约进行验证,从而辅助证明待验证程序的性质。本发明通过将操作常用数据结构的循环语句转换为一系列抽象的赋值语句,有效地对这类循环语句进行了抽象,使得可以使用赋值语句的分析方法来分析循环语句。本发明根据语句的摘要所生成的程序规约有效地描述了程序的性质,尤其是程序执行前后程序状态之间的关系,这些规约高效地辅助了程序的验证过程,提高程序验证的自动化程度和效率,减轻验证人员的负担。

Patent Agency Ranking