Document
拖动滑块完成拼图
个人中心

预订订单
商城订单
发布专利 发布成果 人才入驻 发布商标 发布需求

请提出您的宝贵建议,有机会获取IP积分或其他奖励

投诉建议

在线咨询

联系我们

龙图腾公众号
专利交易 商标交易 积分商城 国际服务 IP管家助手 科技果 科技人才 会员权益 需求市场 关于龙图腾 更多
 /  免费注册
到顶部 到底部
清空 搜索
当前位置 : 首页 > 专利喜报 > 中国科学院软件研究所燕季薇获国家专利权

中国科学院软件研究所燕季薇获国家专利权

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

龙图腾网获悉中国科学院软件研究所申请的专利Python代码静态分析方法及装置获国家发明授权专利权,本发明授权专利权由国家知识产权局授予,授权公告号为:CN116303053B

龙图腾网通过国家知识产权局官网在2026-03-27发布的发明授权授权公告中获悉:该发明授权的专利申请号/专利号为:202310294925.0,技术领域涉及:G06F11/362;该发明授权Python代码静态分析方法及装置是由燕季薇;张弛;严俊设计研发完成,并于2023-03-23向国家知识产权局提交的专利申请。

Python代码静态分析方法及装置在说明书摘要公布了:本公开涉及一种Python代码静态分析方法及装置,所述方法包括:获取Python项目的源代码,将源代码转化为抽象语法树;生成抽象对象,所述抽象对象用于模拟源代码在运行过程中创建的对象;基于抽象语法树与Python语法蕴含的语义信息,将抽象对象绑定到对应的变量中,以得到Python项目的指向分析结果;根据抽象语法树中节点的节点类型,获取被推测变量,并通过推测每一被推测变量的类型,得到Python项目的变量类型推测结果;基于指向分析结果和变量类型推测结果,判断Python项目是否违反代码编程规则与触及对象类型错误,以得到Python项目的静态分析结果。本发明可以基于语法、语义的推测方法对现有技术中无法推理的变量类型进行补充,实现了全面的Python代码静态分析。

本发明授权Python代码静态分析方法及装置在权利要求书中公布了:1.一种Python代码静态分析方法,其特征在于,所述方法包括: 获取Python项目的源代码,将所述源代码转化为抽象语法树; 生成抽象对象,所述抽象对象用于模拟所述源代码在运行过程中创建的对象; 基于所述抽象语法树与Python语法蕴含的语义信息,将抽象对象绑定到对应的变量中,以得到所述Python项目的指向分析结果; 根据所述抽象语法树中节点的节点类型,获取被推测变量的变量名,并通过推测每一所述被推测变量的类型,得到所述Python项目的变量类型推测结果; 基于所述指向分析结果和所述变量类型推测结果,判断所述Python项目是否违反代码编程规则与触及对象类型错误,以得到所述Python项目的静态分析结果; 其中,所述基于所述抽象语法树与Python语法蕴含的语义信息,将抽象对象绑定到对应的变量中,以得到所述Python项目的指向分析结果,包括: 生成指向分析赋值操作规则;所述指向分析赋值操作规则表示所述Python项目中赋值语句的赋值操作规则; 基于所述指向分析赋值操作规则,对所述Python项目中的每一文件进行流敏感、上下文敏感和域敏感的指向分析,得到所述Python项目的语法分析结果; 其中,所述根据所述抽象语法树中节点的节点类型,获取被推测变量的变量名,并通过推测每一所述被推测变量的类型,得到所述Python项目的变量类型推测结果,包括: 构建变量推测类型表;所述变量推测类型表包括:属性的类型推测表、下标语法的类型推测表和二元操作的类型推测表; 初始化变量类型关系表; 遍历所述抽象语法树; 在节点的节点类型为属性、下标语法或二元运算符时,获取被推测变量的变量名,根据所述变量推测类型表推断所述被推测变量的变量类型,并将所述变量类型加入所述变量类型关系表,得到该被推测变量在该节点上的类型列表; 在节点的节点类型为模块、类或函数的定义时,对每一被推测变量的所有类型列表中的元素取交集,且在交集的元素为1时,使用交集元素更新该被推测变量的类型列表; 直至所述遍历结束,基于当前的变量类型关系表,得到所述Python项目的变量类型推测结果。

如需购买、转让、实施、许可或投资类似专利技术,可联系本专利的申请人或专利权人中国科学院软件研究所,其通讯地址为:100190 北京市海淀区中关村南四街4号;或者联系龙图腾网官方客服,联系龙图腾网可拨打电话0551-65771310或微信搜索“龙图腾网”。

以上内容由龙图腾AI智能生成。

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。