基于大数据的源代码综合评测平台制造技术

技术编号:19263275 阅读:19 留言:0更新日期:2018-10-27 02:16
本发明专利技术涉及一种本发明专利技术的基于大数据的源代码综合评测平台,包括有前端系统、后端系统、检测系统、数据获取与存储系统四个子系统,前端系统,用于数据展示和用户交互;后端系统,用于系统配置、任务调度、检测结果分析、存储与交换;检测系统,用于各种系统检测功能和算法的实现及检测分析,并能进行定制扩展;数据获取与存储系统,用于数据获取、清洗、更新、备份、同步和存储。由此,本平台能部署在计算机集群中,或是部署在单机中。通过大数据平台建立海量源代码知识库,能利用多种专门的检测算法和加速算法,可全面解决源代码克隆、静态检测、漏洞检测、木马后门检测、工作量评估、科技含量评估、知识产权保护等需求。

Comprehensive evaluation platform for source code based on big data

The invention relates to a source code comprehensive evaluation platform based on large data of the invention, which comprises four subsystems: front-end system, back-end system, detection system, data acquisition and storage system, front-end system for data display and user interaction, back-end system for system configuration, task scheduling, and test result division. Analysis, storage and exchange; detection system, for the implementation of various system detection functions and algorithms and detection analysis, and can be customized extension; data acquisition and storage system, for data acquisition, cleaning, update, backup, synchronization and storage. As a result, the platform can be deployed in a computer cluster or deployed in a single machine. The massive source code knowledge base is built on the large data platform, which can utilize a variety of special detection algorithms and accelerated algorithms. It can comprehensively solve the requirements of source code cloning, static detection, vulnerability detection, Trojan horse back door detection, workload evaluation, scientific and technological content evaluation, intellectual property protection and so on.

【技术实现步骤摘要】
基于大数据的源代码综合评测平台
本专利技术涉及一种评测平台,尤其涉及一种基于大数据的源代码综合评测平台。
技术介绍
随着时代发展,IT行业日新月异,但软件源代码黑匣子问题一直困扰着整个软件行业。由于软件源代码具有一定专业门槛,深奥且晦涩,导致源代码对于项目作者以外的人而言,其构成来源未知、安全漏洞未知、科技含量未知、实际(工作量)成本未知、知识侵权风险未知等等问题。这将在信息安全、研发管理、软件测试、知识产权等多方面给软件工程带来诸多隐患。而随着开源项目的发展,现在90%的软件开发项目中都会用到开源组件和第三方组件,开源组件和第三方组件的成分、漏洞及许可证情况犹如黑匣子般无从知晓,给软件开发和集成带来了潜在风险。对于国防、国安、军工、航天等关键行业和特殊行业,开源软件成分和漏洞情况需要进行评估和审查,避免有漏洞、木马或者后门,而源代码的复杂性使得人工评估和审查工作量巨大,甚至对于某些大型项目的完全评估和审查是不可行的。在大型软件系统中,代码的雷同、抄袭现象频发,人们维权意识增强,一些代码克隆侵犯了其他软件公司的知识产权。为保护软件产权,软件公司提前做好软件技术秘密的认定、保密措施,申请专利权、软件著作权登记。但是在发生侵权行为后,需要对软件产品进行判定,以维护自己的权利,现阶段没有快速有效的技术手段进行抄袭判断,使得维权困难。另外,在软件开发管理中,开发人员的工作量预估及软件开发完成后所花工时与软件工作含量是否匹配,目前还没有客观的评测手段和评测数据作为参考;在软件型企业并购中,被并购企业的软件是否具有自主知识产权和技术含量,目前也没有相应的评价措施。面对以上应用需求,目前国内还没有有效的技术方案全面解决这些需求。目前有一些研究机构对部分需求(如克隆检测)进行了初步研究,但研究较为初级和单一。本专利技术通过大数据平台建立海量项目知识库,利用多种专门的检测算法和加速算法,可全面解决源代码克隆、静态检测、漏洞检测、木马后门检测、工作量评估、科技含量评估、知识产权保护等需求。有鉴于上述的缺陷,本设计人,积极加以研究创新,以期创设一种基于大数据的源代码综合评测平台,使其更具有产业上的利用价值。
技术实现思路
为解决上述技术问题,本专利技术的目的是提供一种基于大数据的源代码综合评测平台。本专利技术的基于大数据的源代码综合评测平台,包括有前端系统、后端系统、检测系统、数据获取与存储系统四个子系统,其中:所述前端系统,用于数据展示和用户交互;所述后端系统,用于系统配置、任务调度、检测结果分析、存储与交换;所述检测系统,用于各种系统检测功能和算法的实现及检测分析,并能进行定制扩展;所述数据获取与存储系统,用于数据获取、清洗、更新、备份、同步和存储;本平台能部署在计算机集群中,或是部署在单机中。进一步地,上述的基于大数据的源代码综合评测平台,其中,所述前端系统为网站、客户端和APP中的一种或是多种结合。更进一步地,上述的基于大数据的源代码综合评测平台,其中,所述后端系统,包括任务调度模块、系统配置模块、结果分析存储模块,所述任务调度模块,用于平台执行任务的分配调度;所述系统配置模块,用于平台参数和功能设置;所述结果分析存储模块,用于分析和存储检测结果。更进一步地,上述的基于大数据的源代码综合评测平台,其中,所述检测系统,包括预处理模块、代码成分检测模块、相似度检测模块、许可证检测模块、组件检测模块、通信协议检测模块、加密算法检测模块、漏洞检测模块、木马后门检测模块和静态检测模块;所述预处理模块,用于将源代码转换为指纹信息、并提取指纹信息特征值并存储在指纹数据库中;所述代码成分检测模块,用于检测项目中的代码成分;所述相似度检测模块,用于检测项目与知识库中已有项目或文件的相似度信息或者克隆度信息;所述许可证检测模块,用于检测项目的许可证种类及版权要求信息;所述组件检测模块,用于检测项目中的组件信息;所述通信协议检测模块,用于检测项目中所使用的通信协议种类;所述加密算法检测模块,用于检测项目中使用的加密算法;所述漏洞检测模块,用于检测项目自身或是使用的组件的漏洞信息;所述木马后门检测模块,用于检测项目中的木马后门信息;所述静态检测模块,用于对源代码进行静态分析检测。更进一步地,上述的基于大数据的源代码综合评测平台,其中,所述代码成分为编程语言种类、代码行数、文件夹数量、文件数量、文件大小信息、文件后缀种类;所述检测项目中的组件信息包括使用的组件的名称、版本。更进一步地,上述的基于大数据的源代码综合评测平台,其中,所述知识库存储模块,用于存储已搜集和已检测的所有开源项目和已检测项目的信息;所述知识库获取模块用于搜集全球开源项目的源代码、许可证信息、漏洞信息、木马后门信息、加密信息及已检测的源代码项目等并存入知识库存储模块,所述知识库获取模块支持自动更新和人工更新;所述同步与备份模块用于同步和备份检测系统和数据获取与存储系统的数据信息;所述文件管理模块用于管理平台所有的文件及数据信息。再进一步地,上述的基于大数据的源代码综合评测平台,其中,所述所有开源项目和已检测项目的信息包括项目名、组件名、版本、源文件、许可证、漏洞、木马后门、通信协议、加密算法、静态检测规则信息。借由上述方案,本专利技术至少具有以下优点:通过大数据平台建立海量项目知识库,能利用多种专门的检测算法和加速算法,可全面解决源代码克隆、静态检测、漏洞检测、木马后门检测、加密检测、通信协议检测、工作量评估、科技含量评估、知识产权保护等需求。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,并可依照说明书的内容予以实施,以下以本专利技术的较佳实施例并配合附图详细说明如后。附图说明图1是基于大数据的源代码综合评测平台的架构示意图。图2是基于大数据的源代码综合评测平台的应用构架示意图。图3是基于大数据的源代码综合评测平台的软件前端系统界面示意图。图4是检测系统的构架示意图。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。如图1所示基于大数据的源代码综合评测平台,从其框架图可以看出,包含前端系统1、后端系统2、检测系统3、数据获取与存储系统4四个子功能系统,可部署在分布式集群或者单机系统中。为了便于实施,使用Spark搭建分布式服务器集群,使用Hbase作为存储方案。本专利技术为基于大数据架构平台,包括但不限于Hadoop、Spark、Storm、Hive和结合使用方案。结合本专利技术一较佳的实施方式来看,前端系统1采用网站方式,构建后的网站界面可如图2所示。同时,后端系统2能用于系统配置、任务调度、结果分析存储模块。具体来说,采用任务调度模块201用于平台执行任务的分配调度。任务调度包括,预处理任务、成分检测任务、相似度检测模块任务、许可证检测任务、组件检测任务、通信协议检测任务、加密算法检测检测任务、漏洞检测任务、木马后门检测任务、静态检测任务、结果分析任务、数据更新任务、数据同步与存储任务、数据展示任务等多种方式。通过系统配置模块202用于平台参数和功能设置,可包括源代码种类设置、文件级检测设置、代码级检测设置、检测细粒度设置、结果分析阈值设置、用户管理及权限设置、静态检测设置、检测报告设置等。本文档来自技高网
...

【技术保护点】
1.基于大数据的源代码综合评测平台,包括有前端系统(1)、后端系统(2)、检测系统(3)、数据获取与存储系统(4)四个子系统,其特征在于:所述前端系统(1),用于数据展示和用户交互;所述后端系统(2),用于系统配置、任务调度、检测结果分析、存储与交换;所述检测系统(3),用于各种系统检测功能和算法的实现及检测分析,并能进行定制扩展;所述数据获取与存储系统(4),用于数据获取、清洗、更新、备份、同步和存储;本平台能部署在计算机集群中,或是部署在单机中。

【技术特征摘要】
1.基于大数据的源代码综合评测平台,包括有前端系统(1)、后端系统(2)、检测系统(3)、数据获取与存储系统(4)四个子系统,其特征在于:所述前端系统(1),用于数据展示和用户交互;所述后端系统(2),用于系统配置、任务调度、检测结果分析、存储与交换;所述检测系统(3),用于各种系统检测功能和算法的实现及检测分析,并能进行定制扩展;所述数据获取与存储系统(4),用于数据获取、清洗、更新、备份、同步和存储;本平台能部署在计算机集群中,或是部署在单机中。2.根据权利要求1所述的基于大数据的源代码综合评测平台,其特征在于:所述前端系统(1)为网站(101)、客户端(102)和APP(103)中的一种或是多种结合。3.根据权利要求1所述的基于大数据的源代码综合评测平台,其特征在于:所述后端系统(2),包括任务调度模块(201)、系统配置模块(202)、结果分析存储模块(203),所述任务调度模块(201),用于平台执行任务的分配调度;所述系统配置模块(202),用于平台参数和功能设置;所述结果分析存储模块(203),用于分析和存储检测结果。4.根据权利要求1所述的基于大数据的源代码综合评测平台,其特征在于:所述检测系统(3),包括预处理模块(301)、代码成分检测模块(302)、相似度检测模块(303)、许可证检测模块(304)、组件检测模块(305)、通信协议检测模块(306)、加密算法检测模块(307)、漏洞检测模块(308)、木马后门检测模块(309)和静态检测模块(310);所述预处理模块(301),用于将源代码转换为指纹信息、并提取指纹信息特征值并存储在指纹数据库中;所述代码成分检测模块(302),用于检测项目中的代码成分;所述相似度检测模块(303),用于检测项目与知识库中已有项目或文件的相似...

【专利技术属性】
技术研发人员:罗峋陈虹兵但吉兵
申请(专利权)人:苏州棱镜七彩信息科技有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1