摘要
本发明公开了一种基于静态程序开源组件分析方法,涉及软件分析的技术领域,输入项目源代码并解析,获取语义调用图谱,对语义调用图谱进行分层管理;对分层后的语义调用图谱进行拓扑排序,获取组件检查序列;对比待升级组件的新旧版本对应的语义调用图谱,对所述待升级组件进行软件检测操作,输出冲突报告。本方法构建了分层的语义调用图谱,包含了丰富的上下文信息,这使得分析能够深入到方法的行为和语义是否改变的层面,通过对组件依赖关系进行拓扑排序,本申请提出了一种组件检查序列,这解决了现实中修复一个冲突,引发另一个冲突的循环困境,它保证了在检查任一组件前,其所依赖的组件都已被分析和确认,确保了分析过程的有序性和确定性。