[发明专利]基于修改日志的软件包来源自动分析方法在审
申请号: | 201610047083.9 | 申请日: | 2016-01-25 |
公开(公告)号: | CN105740132A | 公开(公告)日: | 2016-07-06 |
发明(设计)人: | 任怡;全康;吴庆波;戴东华;杨诏钧;邵立松;杨沙洲;谢炜;王玉成;郭俊余;游资奇 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F11/34 | 分类号: | G06F11/34;G06F9/44 |
代理公司: | 湖南兆弘专利事务所 43008 | 代理人: | 赵洪;谭武艺 |
地址: | 410073 湖南省长沙市开*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 修改 日志 软件包 来源 自动 分析 方法 | ||
本发明公开了一种基于修改日志的软件包来源自动分析方法,步骤包括:1)获取待分析的目标软件源代码包;2)针对目标软件源代码包生成包含开发者信息的修改日志;3)基于修改日志中记录的开发者信息、修改项次数及预设的研发团队内部开发者信息或者开源项目开发者信息分析目标软件源代码包的软件包来源,得到为开源软件包、混源软件包、自研软件包三者之一的软件包来源分析结果;4)为目标软件源代码包标记软件包来源分析结果。本发明能够判断并识别该软件包是开源软件包、混源软件包还是自研软件包,实现对软件源代码包进行分类管理,具有通用性好、扩展性强、整体灵活性高的优点。
技术领域
本发明涉及计算机操作系统软件包的管理领域,具体涉及一种基于修改日志的软件包来源自动分析方法。
背景技术
开源软件已经形成一个完整的软件体系,构成全球软件生产和部署不可或缺的一环。面向细分而多变的应用需求,借鉴和继承已有开源软件,快速搭建面向新需求的软件解决方案成为一种趋势,如Amazon、百度、淘宝等互联网企业都基于开源Linux构建自己独具特色的应用解决方案。虽然开源软件的引入会带来一些潜在的稳定、安全、可靠等方面的问题,但通过在引进过程中面向具体问题和需求进行分析、改造、调试和再设计可寻求有效的解决方案。为缩短开发周期、降低开发成本、提高软件竞争力,集成并改进开源软件、实现操作系统产品包容继承发展已成为很多国内外厂商的研发方式之一。例如,谷歌的Android系统借鉴了Linux内核,并面向智能终端对内核进行了深度裁剪定制和针对性增强,去除不必要的软件包,修正Bug,并针对智能终端需求新研了UI、Java虚拟机、简单C库、SDK,形成独立可控的Android操作系统分支。再如,IBM和Oracle为了适应快速多变的用户需求并充分利用开源资源,在自身的产品线之外,并列开发了基于Linux的开源解决方案产品线,实现了产品线的快速发展。而苹果公司的Mac OS X和iOS操作系统产品也是基于稳定的开源BSD内核设计开发的。
目前操作系统已经形成了两大体系。一个是Unix/Linux体系,另一个是Windows体系。其中,Unix/Linux体系的操作系统中,软件包是系统的重要组成,操作系统内核、核外软件以软件包的形式进行组织和管理。对于基于开源软件发展而来的操作系统产品,根据系统中软件包的不同来源,可以将其软件包分为三类:开源软件包、混源软件包和自研软件包。这三类软件包各自的特点如下:(I)开源软件包: 其源代码对公众开放,在软件license允许的范围下,可以被公众使用、修改和分发。开源软件包代码质量参差不齐、存在潜在安全漏洞和隐患,存在软件技术支持缺失等问题。(II)混源软件包:基于开源软件包,根据特定需求,由研发团队内部开发人员对开源软件包进行了修改和二次设计与开发,软件包的代码中开源和自研代码并存。与开源软件包相比,内部开发人员对混源软件包的认知和理解程度相对更高。另一方面,此类软件包仍然存在使用开源软件的潜在问题。(III)自研软件包:是指根据系统需求,由研发团队内部开发人员自行设计、研发的软件包,对代码框架、组成、功能和工作机理有深入和细致的了解和掌握,具备二次开发和快速迭代与升级能力。
上述不同来源的软件包特性不同,对其进行分类组织和管理有利于明晰操作系统组成软件包的代码自主程度,有助于增强软件包演进的可追踪性。
目前,支持对软件包进行来源分析的代表性软件包括Black Duck软件和由HP公司主导开发的FOSSology。其中,Black Duck是适用于软件整个生命周期的一个完整的开源软件管理/自动化解决方案,Black Duck收集了数千个网站的开源项目信息,通过与开源代码库中代码的特征比对,来发现被比较的代码是否来自开源软件,是否存在licence问题。FOSSology支持软件的license扫描、copyright分析、包头信息提取等功能。与Black Duck相比,FOSSology是通过搜索和匹配源代码中的元信息,实现license等的分析,缺少软件特征的智能分析能力。这两种软件支持开源软件的扫描和分析,不具备识别和判断操作系统中软件包是开源、混源、还是自研的这一能力。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610047083.9/2.html,转载请声明来源钻瓜专利网。