Update README.md
开源已成为全球主流的软件开发模式之一,全球超96%的代码库中包含开源软件。目前国产操作系统多采用开源的Linux技术体系,然而由于开源软件质量参差不齐,供应链安全风险日益突出,而依赖关系是软件供应链的一种关键影响因素。开源开发模式下,操作系统开发者多通过使用已有的第三方组件对系统进行扩展和改进,而第三方组件也会依赖其他的组件,因此形成了复杂的依赖链条。由于操作系统的版本演化以及各个组件的不断更新升级,开源软件的规模不断扩大,以依赖关系为基础的供应链分析也越来越复杂。本赛题聚焦开源操作系统软件仓库的依赖关系检测分析,要求参赛者基于开源操作系统发行版的软件仓库,构建覆盖软件包、文件和调用接口等多级关联信息的全量知识图谱,并开发自动化分析工具对软件仓库中的依赖关系、函数调用关系以及各对象之间包含关系等进行分析,找出潜在的兼容性风险和依赖关系缺陷。
选择一个开源操作系统发行版(如openKylin、openEuler等),选择至少2个主要版本的软件仓库,覆盖软件包数量不少于3万个; 建立面向软件仓库的动态库接口的全量知识图谱,图谱中至少包含软件包、动态库文件和函数接口等实体,包含软件包依赖、函数接口调用、实体间包含等关系; 开发依赖关系分析工具,工具能够通过函数接口的调用关系推理软件包的依赖关系是否正确、完备;检测操作系统升级后软件包是否兼容,分析内容包括正向检测(软件包A在升级后的操作系统版本中依赖关系是否完整)和反向检测(软件包A升级后依赖软件包A的其他软件包是否兼容)。开发语言不限。 提供可视化的分析结果展示,支持分析报告的导出。
支持RPM包/DEB包的格式解析、依赖关系可视化完整度,是否具有跨架构检测能力;
工具的性能(单个软件包分析时效性)、工具的易用性;
可视化效果;
文档的完整度、逻辑清晰性
王静 wangjing@nudt.edu.cn
[1] https://www.debian.org/doc/debian-policy/ch-relationships#binary-dependencies-depends-recommends-suggests-enhances-pre-depends
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
赛题题目:开源操作系统软件仓库依赖关系检测分析工具
赛题说明:
开源已成为全球主流的软件开发模式之一,全球超96%的代码库中包含开源软件。目前国产操作系统多采用开源的Linux技术体系,然而由于开源软件质量参差不齐,供应链安全风险日益突出,而依赖关系是软件供应链的一种关键影响因素。开源开发模式下,操作系统开发者多通过使用已有的第三方组件对系统进行扩展和改进,而第三方组件也会依赖其他的组件,因此形成了复杂的依赖链条。由于操作系统的版本演化以及各个组件的不断更新升级,开源软件的规模不断扩大,以依赖关系为基础的供应链分析也越来越复杂。本赛题聚焦开源操作系统软件仓库的依赖关系检测分析,要求参赛者基于开源操作系统发行版的软件仓库,构建覆盖软件包、文件和调用接口等多级关联信息的全量知识图谱,并开发自动化分析工具对软件仓库中的依赖关系、函数调用关系以及各对象之间包含关系等进行分析,找出潜在的兼容性风险和依赖关系缺陷。
赛题要求:
选择一个开源操作系统发行版(如openKylin、openEuler等),选择至少2个主要版本的软件仓库,覆盖软件包数量不少于3万个; 建立面向软件仓库的动态库接口的全量知识图谱,图谱中至少包含软件包、动态库文件和函数接口等实体,包含软件包依赖、函数接口调用、实体间包含等关系; 开发依赖关系分析工具,工具能够通过函数接口的调用关系推理软件包的依赖关系是否正确、完备;检测操作系统升级后软件包是否兼容,分析内容包括正向检测(软件包A在升级后的操作系统版本中依赖关系是否完整)和反向检测(软件包A升级后依赖软件包A的其他软件包是否兼容)。开发语言不限。 提供可视化的分析结果展示,支持分析报告的导出。
评分标准:
技术完整性(30):
支持RPM包/DEB包的格式解析、依赖关系可视化完整度,是否具有跨架构检测能力;
实用性(30):
工具的性能(单个软件包分析时效性)、工具的易用性;
数据的展示型(20):
可视化效果;
报告质量(20):
文档的完整度、逻辑清晰性
赛题联系人:
王静 wangjing@nudt.edu.cn
参考资料:
[1] https://www.debian.org/doc/debian-policy/ch-relationships#binary-dependencies-depends-recommends-suggests-enhances-pre-depends
参赛资源支持:无