推断|中科院软件所在Python程序的构建依赖分析方面取得进展

IT之家 1 月 7 日消息,据中国科学院网站,近日,中国科学院软件研究所软件工程技术研究开发中心在 Python 程序构建中的依赖分析推断方面取得研究进展,提出知识驱动的 Python 程序依赖推断方法及工具,帮助开发人员提高代码复用效率,减少依赖缺失和依赖版本错误导致的 Python 程序构建和运行错误,为提升开发运维一体化中的应用构建自动化能力起到支撑作用。
推断|中科院软件所在Python程序的构建依赖分析方面取得进展
文章插图

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

【 推断|中科院软件所在Python程序的构建依赖分析方面取得进展】▲ Python 程序依赖分析方法示意图