-
公开(公告)号:CN116594622A
公开(公告)日:2023-08-15
申请号:CN202310347171.0
申请日:2023-04-03
Applicant: 南京大学
IPC: G06F8/41
Abstract: 本发明公开基于类型推导与数据流分析的Python程序编译方法及系统,属于计算机技术领域。该方法包括:对Python字节码进行控制流和数据流分析,并将所述Python字节码转换为基本块;遍历获得的所述基本块,将Python字节码转换为CPY中间代码,并使用内置方法替换Python API调用;使用类型推导算法推导出CPY中间代码中变量的类型信息,并根据类型推导结果选择静态或动态编译模式,将CPY中间代码转换为不同模式的LLVM中间代码;根据编译模式,调用LLVM链接器来链接已编译的模块或CPython库文件,以生成可执行文件。本发明用于静态编译动态类型语言程序,解决了动态类型语言程序运行效率低的问题,同时本发明采用了静态编译模式和动态编译模式,有效提升了程序的兼容性。
-
公开(公告)号:CN114580641A
公开(公告)日:2022-06-03
申请号:CN202210052087.1
申请日:2022-01-17
Applicant: 南京大学
Abstract: 本发明涉及一种基于程序切片的深度神经网络类型推导方法,首先获取大量包含类型标注信息的动态语言程序项目,提取项目中的类型信息,构建类型信息数据集;然后用编码技术将提取的类型信息数据集嵌入成向量形式;最后用嵌入向量训练深度神经网络模型并使用训练好的模型预测程序变量类型或函数签名。本发明目的在于解决目前存在的动态语言程序类型推导效率低、准确率低的问题,提高动态语言程序在软件工程的生产实践中的可读性、可理解性和可维护性,最终实现提高软件质量保障的目标。
-