IT之家1月7日消息,据中国科学院网站,近日,中国科学院软件研究所软件工程技术研究开发中心在Python程序构建中的依赖分析推断方面取得研究进展,提出知识驱动的Python程序依赖推断方法及工具,帮助开发人员提高代码复用效率,减少依赖缺失和依赖版本错误导致的Python程序构建和运行错误,为提升开发运维一体化中的应用构建自动化能力起到支撑作用。
据介绍,Python语言广泛应用于科学计算等,开发者常常通过代码复用提高开发效率。但Python程序运行环境复杂,依赖于Python包、系统库和特定版本的Python解释器。缺少程序依赖或者依赖版本不兼容,会导致程序构建失败和运行错误。
针对该问题,研究提出一种知识驱动的Python程序依赖推断方法,包括知识图谱构建和程序依赖推断两个阶段。在知识图谱构建阶段,该方法收集大量多源异构数据,进行知识的抽取和融合,构建Python领域知识图谱。在程序依赖推断阶段,该方法基于领域知识图谱,通过程序分析和约束求解方法推断目标Python程序的多层次依赖。
IT之家了解到,基于上述方法,该研究开发了PyEGo:知识驱动的Python程序依赖推断工具。实验结果显示,PyEGo工具的依赖推断成功率是已有方法的1.5—4.5倍,极大提升了程序构建的正确率和执行效率。
▲Python程序依赖分析方法示意图