中科院软件在Python程序构建依赖分析方面取得进展:帮助开发者提高代码复用效率推理方面取得研究进展,提出知识驱动的Python程序依赖推理方法和工具帮助开发者提高代码复用效率,减少因缺少依赖和依赖版本错误导致的Python程序构建和运行错误,提高开发运维一体化。平台中的应用构建自动化能力起到支撑作用。据介绍,Python语言广泛应用于科学计算等领域,开发者往往通过代码复用来提高开发效率。但是Python程序的运行环境复杂,依赖于Python包、系统库和特定版本的Python解释器。缺少程序依赖项或依赖项版本不兼容将导致程序构建失败和运行时错误。针对该问题,研究提出一种知识驱动的Python程序依赖推理方法,包括知识图谱构建和程序依赖推理两个阶段。在知识图谱构建阶段,该方法采集大量多源异构数据,进行知识抽取和融合,构建Python领域知识图谱。在程序依赖推断阶段,该方法通过基于领域知识图谱的程序分析和约束求解方法推断出目标Python程序的多级依赖关系。基于上述方法,本研究开发了PyEGo:一种知识驱动的Python程序依赖推理工具。实验结果表明,PyEGo工具的依赖关系推断成功率是现有方法的1.5-4.5倍,大大提高了程序构建的正确率和执行效率。▲Python程序依赖分析方法示意图
