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

    公开(公告)号: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容器类生成了代码模型,生成的代码模型可以有效地提高其它程序分析技术的正确性和效率,解决了程序分析过程中由于类库源代码缺失或者类库源代码过于复杂导致难以分析等问题。

Patent Agency Ranking