【技术实现步骤摘要】
本专利技术涉及应用开发,尤其涉及一种应用的代码分析方法、装置、电子设备和计算机可读介质。
技术介绍
1、一个应用的知识产权主要包括著作权、商标权、专利权和保密协议。其中著作权是软件开发方面十分重要的知识产权,主要包括了软件的程序代码、算法、文字、图像、界面等。其中,开源协议规定了开发者使用开源软件时可以做什么和不可以做什么,即开发者对开源软件的权利和义务。
2、在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:
3、(1)目前的开源协议检测主要有人工检查和工具检查两种。其中人工检查是使用人力去排查开源组件和许可证信息,缺点在于耗时过久。而工具检查则是采用检测工具自动检测代码的开源部分,但目前的开源工具大多只是扫描记录开源成分的信息,无法对许可证合规和冲突情况进行甄别,不能有效地帮助开发者掌握应用中开源代码的组织结构和具体情况。
4、(2)目前对于代码相似度检测常用的有编辑距离算法、二进制代码检测等。其中编辑距离算法只能比较代码文本的相似性,如果代码采用不一样的编程语言和数据结构,编辑距
...【技术保护点】
1.一种应用的代码分析方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,扫描应用的开源代码,从所述开源代码中提取出各个协议特征,从而根据所述各个协议特征确定各个开源项目遵从的开源协议,包括:
3.根据权利要求2所述的方法,其特征在于,根据所述各个协议特征确定所述开源项目遵从的开源协议,包括:
4.根据权利要求1所述的方法,其特征在于,还包括:
5.根据权利要求4所述的方法,其特征在于,采用代码测试工具对所述代码树进行剪枝,得到剪枝后的代码树,包括:
6.根据权利要求5所述的方法,其特征在于,
...【技术特征摘要】
1.一种应用的代码分析方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,扫描应用的开源代码,从所述开源代码中提取出各个协议特征,从而根据所述各个协议特征确定各个开源项目遵从的开源协议,包括:
3.根据权利要求2所述的方法,其特征在于,根据所述各个协议特征确定所述开源项目遵从的开源协议,包括:
4.根据权利要求1所述的方法,其特征在于,还包括:
5.根据权利要求4所述的方法,其特征在于,采用代码测试工具对所述代码树进行剪枝,得到剪枝后的代码树,包括:
6.根据权利要求5所述的方法,其特征在于,采用二分类算法对所述剪枝后的代码树进行筛选,从而得到筛选后的代码树,包括:
7.根据权利要求4所述的方法,其特征在于,根据所述剪枝后的代码树、所述筛选后的代码树和所述变量列表,生成代码指纹,包括:
8.一种应用的代码分析装...
【专利技术属性】
技术研发人员:康信杰,刘永昆,
申请(专利权)人:中国建设银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。