CN107463375A - 一种检测源代码的方法和系统 - Google Patents

一种检测源代码的方法和系统 Download PDF

Info

Publication number
CN107463375A
CN107463375A CN201710586359.5A CN201710586359A CN107463375A CN 107463375 A CN107463375 A CN 107463375A CN 201710586359 A CN201710586359 A CN 201710586359A CN 107463375 A CN107463375 A CN 107463375A
Authority
CN
China
Prior art keywords
code
server
compiling
examination
continuous integrating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN201710586359.5A
Other languages
English (en)
Inventor
周玲莉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Taizhou Jiji Intellectual Property Operation Co.,Ltd.
Original Assignee
Shanghai Feixun Data Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Feixun Data Communication Technology Co Ltd filed Critical Shanghai Feixun Data Communication Technology Co Ltd
Priority to CN201710586359.5A priority Critical patent/CN107463375A/zh
Publication of CN107463375A publication Critical patent/CN107463375A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

本发明实施例公开一种检测源代码的方法和系统,编译服务器将生成的新增补丁发送给代码审核服务器;所述代码审核服务器接收所述新增补丁后,触发持续集成服务器进行源代码语法检测;所述持续集成服务器根据预设规则检测所述新增补丁的每段函数是否有语法错误;如果所述持续集成服务器检测到语法错误,则不触发编译服务器构建编译且反馈语法错误到所述代码审核服务器;如果所述持续集成服务器未检测到语法错误,则触发所述编译服务器构建编译。通过本发明实施例的方案,能释放人力的同时,提高代码效率,保证代码质量,从而进一步信息化运维工作管理水平,确保软件版本安全稳定的运行,以及及时安全的交付。

Description

一种检测源代码的方法和系统
技术领域
本发明实施例涉及通信领域,尤其涉及一种检测源代码的方法和系统。
背景技术
源代码(也称源程序)是指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令,是用汇编语言和高级语言写出来的代码。在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成。
源代码作为软件的特殊部分,可能被包含在一个或多个文件中。一个程序不必用同一种格式的源代码书写,例如,一个程序如果有C语言库的支持,那么就可以用C语言;而另一部分为了达到比较高的运行效率,则可以用汇编语言编写。
源代码主要有如下两种作用:
1)生成目标代码,即计算机可以识别的代码。
2)对软件进行说明,即对软件的编写进行说明。这部分不会在生成的程序中直接显示,也不参与编译。但是注释代码对软件的学习、分享、维护和软件复用都有巨大的好处。
需要指出的是,源代码的修改不能改变已经生成的目标代码,如果需要目标代码做出相应的修改,必须重新编译。
源代码编译之后,需要进行检测是否出现语法或计算机不可识别的bug,例如,谷歌Android开源项目在Git的使用Gerrit服务器,其为一种代码审核服务器。Gerrit为Git引入的代码审核是强制性的,就是说除非特别的授权设置,向Git版本库的推送(Push)必须要经过Gerrit服务器,修订必须经过代码审核的一套工作流之后,才可能经批准并纳入正式代码库中。
目前,现有技术的代码审核流程有code-review,verify,submit权限,这些都需要相关模块leader手动审核,即需要大量人为干预,手动审核代码。而手动审核代码无法准确判断代码的语法问题,也没法判断代码是否可以正常编译,另外,文件补丁(Patch)提交完成之后,需要研发人员手动更改bug状态。
发明内容
本发明多个方面提供一种检测源代码的方法和系统,能释放人力的同时,提高代码效率,保证代码质量,从而进一步信息化运维工作管理水平,确保软件版本安全稳定的运行,以及及时安全的交付。
本发明的一方面提供一种检测源代码的方法,包括:
编译服务器将生成的新增补丁发送给代码审核服务器;
所述代码审核服务器接收所述新增补丁后,触发持续集成服务器进行源代码语法检测;
所述持续集成服务器根据预设规则检测所述新增补丁的每段函数是否有语法错误;
如果所述持续集成服务器检测到语法错误,则不触发编译服务器构建编译且反馈语法错误到所述代码审核服务器界面进行通知;如果所述持续集成服务器未检测到语法错误,则触发编译服务器构建编译。
可选地,所述持续集成服务器检测所述每段函数包含的代码注释是否大于或等于预设的阈值数量;
如果所述持续集成服务器检测到每段函数包含的代码注释小于所述预设的阈值数量,所述代码审核服务器记录代码注释检测失败结果;如果所述持续集成服务器检测到每段函数包含的代码注释大于或等于所述预设的阈值数量,所述代码审核服务器记录代码注释检测成功结果。
可选地,如果所述编译服务器编译成功,所述代码审核服务器记录编译成功结果,且触发下一个构建进行模块自动化测试用例,所述测试用例为测试编译内容是否为预设功能;如果所述编译服务器编译失败,所述代码审核服务器记录编译失败结果;
所述编译服务器根据所述测试用例测试通过结果、所述代码审核服务器记录的所述代码注释检测成功结果和所述编译成功结果,发送所述源代码至中心代码库。
可选地,在所述源代码被发送至所述中心代码库后,所述代码审核服务器反馈所述新增补丁提交状态为融合状态,触发BUG管理服务器更改所述patch对应bug状态为已修复状态。
本发明的另一方面提供一种检测源代码的系统,包括:编译服务器、代码审核服务器和持续集成服务器,其中,
所述编译服务器用于生成新增补丁并发送给所述代码审核服务器;
所述代码审核服务器用于接收所述新增补丁后,触发所述持续集成服务器进行源代码语法检测;
所述持续集成服务器用于根据预设规则检测所述新增补丁的每段函数是否有语法错误;如果检测到语法错误,则不触发编译服务器构建编译且反馈语法错误到所述代码审核服务器界面进行通知;如果未检测到语法错误,则触发编译服务器构建编译。
可选地,所述持续集成服务器还用于检测所述每段函数包含的代码注释是否大于或等于预设的阈值数量,并将检测结果反馈给所述代码审核服务器;
所述代码审核服务器还用于,如果所述持续集成服务器检测到每段函数包含的代码注释小于所述预设的阈值数量,记录代码注释检测失败结果;如果所述持续集成服务器检测到每段函数包含的代码注释大于或等于所述预设的阈值数量,记录代码注释检测成功结果。
可选地,所述代码审核服务器还用于记录所述编译成功时的编译成功结果,且触发下一个构建进行模块自动化测试用例;如果所述编译服务器编译失败,记录编译失败结果;
所述编译服务器还用于根据所述测试用例测试成功结果、所述代码审核服务器记录的所述代码注释检测成功结果和所述编译成功结果,发送所述源代码至中心代码库。
可选地,所述代码审核服务器还用于在所述源代码被发送至所述中心代码库后,反馈所述新增补丁提交状态为融合状态,触发BUG管理服务器更改所述新增补丁对应bug状态为已修复状态。
上述描述的检测源代码的方法和系统,能释放人力的同时,提高代码效率,保证代码质量,从而进一步信息化运维工作管理水平,确保软件版本安全稳定的运行,以及及时安全的交付。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例的一种检测源代码的系统的结构示意图;
图2为本发明另一实施例的一种检测源代码的方法的流程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本文中描述的技术可用于各种通信系统,例如2G、3G、4G通信系统和下一代通信系统(例如,5G),例如全球移动通信(Global System forMobile Communication,GSM)系统,码分多址(Code Division MultipleAccess,CDMA)系统,时分多址(Time DivisionMultipleAccess,TDMA)系统,宽带码分多址(Wideband Code Division Multiple Access,WCDMA)系统,频分多址(Frequency Division MultipleAccess,FDMA)系统,正交频分多址(Orthogonal Frequency-Division Multiple Access,OFDMA)系统,单载波FDMA(SC-FDMA)系统,通用分组无线业务(General Packet Radio Service,GPRS)系统,长期演进(LongTerm Evolution,LTE)系统,以及其他此类通信系统。CDMA系统可实现诸如通用无线陆地接入(Universal Terrestrial RadioAccess,UTRA)、CDMA2000等无线电技术。UTRA包括宽带-CDMA(WCDMA)和其他CDMA变体。另外,CDAM2000涵盖IS-2000、IS-95和IS-856标准。TDMA系统可实现诸如全球移动通信系统(GSM)等的无线电技术。OFDMA系统可实现诸如演进通用陆地无线接入(Evolved-UMTS Terrestrial Radio Access,E-UTRA)、超移动宽带(UltraMobile Broadband,UMB)、IEEE802.11(Wi-Fi)、IEEE802.16(WiMAX)、IEEE802.20、Flash-OFDMA等无线电技术。UTRA和E-UTRA是通用移动通信系统(Universal MobileTelecommunication System,UMTS)的一部分。3GPP长期演进(例如,LTE)是UMTS的使用E-UTRA的版本,其在下行链路上可采用OFDMA,而在上行链路上可采用SC-FDMA。UTRA、E-UTRA、UMTS、LTE和GSM描述在“第三代伙伴项目(3GPP)”组织的文献中。另外,CDAM2000和UMB描述在“第三代伙伴项目2(3GPP2)”组织的文献中。
本文中结合终端设备和/或接入网设备和/或基站控制器来描述各种方面。
终端设备,可以是无线终端也可以是有线终端,无线终端可以是指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(Radio Access Network,RAN)与一个或多个核心网进行通信,无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。例如,个人通信业务(Personal CommunicationService,PCS)电话、无绳电话、会话发起协议(SIP)话机、无线本地环路(Wireless LocalLoop,WLL)站、个人数字助理(Personal Digital Assistant,PDA)等设备。无线终端也可以称为系统、订户单元(Subscriber Unit)、订户站(Subscriber Station),移动站(MobileStation)、移动台(Mobile)、远程站(Remote Station)、接入点(Access Point)、远程终端(Remote Terminal)、接入终端(Access Terminal)、用户终端(UserTerminal)、用户代理(UserAgent)或用户设备(User Equipment)。
接入网设备(例如,接入点)可以是指接入网中利用空中接口或有线线路与终端设备通信的设备。例如,所述接入网设备可用于将收到的空中帧与IP分组进行相互转换,作为无线终端与接入网的其余部分之间的路由器,其中接入网的其余部分可包括网际协议(IP)网络。所述接入网设备还可协调对空中接口的属性管理。例如,所述接入网设备可以是GSM或CDMA中的基站(Base Transceiver Station,BTS),也可以是WCDMA中的基站(NodeB),还可以是LTE中的演进型基站(evolvedNode B),还可以的新接入网系统的基站,本申请并不限定。其中,所述新接入网系统可以称为下一代通信系统或5G通信系统,所述接入网设备可以为gNB,其中,所述gNB可以采用CU-DU架构,即所述gNB包括集中式单元(CentralizedUnit,CU)和分布式单元(Distributed Unit,DU),CU设备处理无线高层协议栈功能,例如无线资源控制(Radio Resource Control,RRC)层,分组数据汇聚协议(Packet DataConvergence Protocol,PDCP)层等,甚至也能够支持部分核心网功能下沉至接入网,术语称作边缘计算网络。DU设备主要处理物理层功能和实时性需求较高的层2功能。
基站控制器,可以是GSM或CDMA中的基站控制器(BSC,base stationcontroller),也可以是WCDMA中的无线网络控制器(RNC,Radio Network Controller),本申请并不限定。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。另外,本文中术语“系统”和“网络”在本文中常被可互换使用。
本发明的检测源代码的方法,可以适用于各种通信系统的各种通信设备,例如,终端设备、接入网设备、基站控制器和路由器等等。
如图1所示,为本发明一实施例的一种检测源代码的系统的结构示意图,所述检测源代码的系统包括:编译服务器101、代码审核服务器102、持续集成服务器103和BUG管理服务器104,所述编译服务器101、代码审核服务器102、持续集成服务器103和BUG管理服务器104相互之间通过总线相连。
所述编译服务器101用于生成新增补丁(patch)并发送给所述代码审核服务器102。
所述代码审核服务器102用于接收新增的补丁(patch)后,触发所述持续集成服务器103进行源代码语法检测。
所述持续集成服务器103用于根据预设规则检测所述patch的每段函数是否有语法错误,例如语法错误而导致的bug,即潜在bug;如果检测到语法错误,则不触发编译服务器构建编译且反馈语法错误到所述代码审核服务器102界面进行通知,例如在所述代码审核服务器102的界面进行语法错误显示,在本发明的另一实施例,所述代码审核服务器102还可以传递所述语法错误信息给设定的邮箱地址;如果未检测到语法错误,则触发编译服务器101构建编译。
所述编译可以为模块编译也可以为全编,例如,若将来用工具将程序烧入板子,则用全编;若将来用手动push到板子,则使用模块编译;所述编译服务器101编译成功时将编译成功信息反馈至代码审核服务器102,并通知上传人员,例如在所述代码审核服务器102的界面进行显示,在本发明的另一实施例,所述代码审核服务器102还可以将所述语法错误信息发生给设定的邮箱地址。
在本发明的另一实施例,所述持续集成服务器103还用于检测所述每段函数包含的代码注释是否大于或等于预设的阈值数量,以检测所述代码注释是否符合规范,并将检测结果反馈给所述代码审核服务器102。
所述代码审核服务器102还用于,如果所述持续集成服务器103检测到每段函数包含的代码注释小于所述预设的阈值数量,记录代码注释检测失败结果,例如,记录该代码注释的code-reiew-1,表示所述代码注释不符合规范。
如果所述持续集成服务器103检测到每段函数包含的代码注释大于或等于所述预设的阈值数量,记录代码注释检测成功结果,例如,记录该代码注释的code-reiew+1,表示所述代码注释符合规范。
可选地,所述代码审核服务器102还用于记录所述编译成功时的编译成功结果,例如记录该次编译verify+1,且触发下一个构建进行模块自动化测试用例,所述测试用例为测试编译内容是否为预设功能。
例如,如果所述编译服务器101编译失败,所述代码审核服务器102记录编译失败结果,例如,记录该次编译verify-1;所述编译服务器101还用于根据所述测试用例测试成功结果、所述代码审核服务器102记录的所述代码注释检测成功结果(例如,记录的code-reiew+1)和所述编译成功结果(例如记录的verify+1),发送所述源代码至中心代码库105,且所述代码审核服务器102自动记录code-view+2。
可选地,所述代码审核服务器102还用于在所述源代码被发送至所述中心代码库105后,反馈所述patch提交状态为融合(Merged)状态,触发所述BUG管理服务器104更改所述patch对应bug状态为已修复状态。
如图2所示,为本发明的另一实施例的一种检测源代码的方法的流程示意图。
步骤201-202,编译服务器从中心代码库下载源代码到本地,修改相关bug,修改完源码生成新增加patch并发送给代码审核服务器。
本发明的另一实施例中,所述编译服务器可以是各种电脑或笔记本或编译器等。
步骤203,所述代码审核服务器接收新增的补丁(patch)后,触发持续集成服务器进行源代码语法检测,所述持续集成服务器检测所述patch的每段函数是否有语法错误。
例如,所述持续集成服务器根据预设规则检测所述patch的每段函数是否有语法错误,例如语法错误而导致的bug,即潜在bug;如果检测到语法错误,则不触发编译服务器构建编译且反馈语法错误到所述代码审核服务器界面进行通知(即步骤208),例如在所述代码审核服务器的界面进行语法错误显示,在本发明的另一实施例,所述代码审核服务器还可以传递所述语法错误信息给设定的邮箱地址;如果未检测到语法错误,则触发编译服务器构建编译(步骤204)。
步骤205,所述编译服务器构建编译。
所述编译可以为模块编译也可以为全编,例如,若将来用工具将程序烧入板子,则用全编;若将来用手动推进(push)到板子,则使用模块编译;所述编译服务器编译成功时将编译成功信息反馈至代码审核服务器,并通知上传人员,例如在所述代码审核服务器的界面进行显示,在本发明的另一实施例,所述代码审核服务器还可以将所述语法错误信息发生给设定的邮箱地址。
在本发明的另一实施例,所述持续集成服务器检测所述每段函数包含的代码注释是否大于或等于预设的阈值数量,以检测所述代码注释是否符合规范,并将检测结果反馈给所述代码审核服务器。
如果所述持续集成服务器检测到每段函数包含的代码注释小于所述预设的阈值数量,所述代码审核服务器记录代码注释检测失败结果,例如,记录该代码注释的code-reiew-1,表示所述代码注释不符合规范。
如果所述持续集成服务器检测到每段函数包含的代码注释大于或等于所述预设的阈值数量,所述代码审核服务器记录代码注释检测成功结果,例如,记录该代码注释的code-reiew+1,表示所述代码注释符合规范。
步骤206,触发下一个构建进行模块自动化测试用例。
所述代码审核服务器记录所述编译成功时的编译成功结果,例如记录该次编译verify+1,且触发下一个构建进行模块自动化测试用例,所述测试用例为测试编译内容是否为预设功能。
例如,如果所述编译服务器编译失败,所述代码审核服务器记录编译失败结果,例如,记录该次编译verify-1;所述编译服务器根据所述测试用例测试成功结果、所述代码审核服务器记录的所述代码注释检测成功结果(记录的code-reiew+1)和所述编译成功结果(例如记录的verify+1),发送所述源代码至中心代码库,且所述代码审核服务器自动记录code-view+2。
步骤207,所述代码审核服务器更改所述patch对应bug状态为已修复状态。
例如,所述代码审核服务器在所述源代码被发送至所述中心代码库后,反馈所述patch提交状态为融合(Merged)状态,触发所述BUG管理服务器更改所述patch对应bug状态为已修复状态。
上述描述的检测源代码的方法和系统,能释放人力的同时,提高代码效率,保证代码质量,从而进一步信息化运维工作管理水平,确保软件版本安全稳定的运行,以及及时安全的交付。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (8)

1.一种检测源代码的方法,其特征在于,包括:
编译服务器将生成的新增补丁发送给代码审核服务器;
所述代码审核服务器接收所述新增补丁后,触发持续集成服务器进行源代码语法检测;
所述持续集成服务器根据预设规则检测所述新增补丁的每段函数是否有语法错误;
如果所述持续集成服务器检测到语法错误,则不触发编译服务器构建编译且反馈语法错误到所述代码审核服务器;如果所述持续集成服务器未检测到语法错误,则触发所述编译服务器构建编译。
2.如权利要求1所述的方法,其中,所述方法还包括:
所述持续集成服务器检测所述每段函数包含的代码注释是否大于或等于预设的阈值数量;
如果所述持续集成服务器检测到每段函数包含的代码注释小于所述预设的阈值数量,所述代码审核服务器记录代码注释检测失败结果;如果所述持续集成服务器检测到每段函数包含的代码注释大于或等于所述预设的阈值数量,所述代码审核服务器记录代码注释检测成功结果。
3.如权利要求2所述的方法,其中,所述方法还包括:
如果所述编译服务器编译成功,所述代码审核服务器记录编译成功结果,且触发下一个构建进行模块自动化测试用例,所述测试用例为测试编译内容是否为预设功能;如果所述编译服务器编译失败,所述代码审核服务器记录编译失败结果;
所述编译服务器根据所述测试用例测试通过结果、所述代码审核服务器记录的所述代码注释检测成功结果和所述编译成功结果,发送所述源代码至中心代码库。
4.如权利要求3所述的方法,其中,所述方法还包括:
在所述源代码被发送至所述中心代码库后,所述代码审核服务器反馈所述新增补丁提交状态为融合状态,触发BUG管理服务器更改所述新增补丁对应bug状态为已修复状态。
5.一种检测源代码的系统,其特征在于,包括:编译服务器、代码审核服务器和持续集成服务器,其中,
所述编译服务器用于生成新增补丁并发送给所述代码审核服务器;
所述代码审核服务器用于接收所述新增补丁后,触发所述持续集成服务器进行源代码语法检测;
所述持续集成服务器用于根据预设规则检测所述新增补丁的每段函数是否有语法错误;如果检测到语法错误,则不触发编译服务器构建编译且反馈语法错误到所述代码审核服务器界面进行通知;如果未检测到语法错误,则触发所述编译服务器构建编译。
6.如权利要求5所述的系统,其中,
所述持续集成服务器还用于检测所述每段函数包含的代码注释是否大于或等于预设的阈值数量,并将检测结果反馈给所述代码审核服务器;
所述代码审核服务器还用于,如果所述持续集成服务器检测到每段函数包含的代码注释小于所述预设的阈值数量,记录代码注释检测失败结果;如果所述持续集成服务器检测到每段函数包含的代码注释大于或等于所述预设的阈值数量,记录代码注释检测成功结果。
7.如权利要求6所述的系统,其中,
所述代码审核服务器还用于记录所述编译成功时的编译成功结果,且触发下一个构建进行模块自动化测试用例;如果所述编译服务器编译失败,记录编译失败结果;
所述编译服务器还用于根据所述测试用例测试成功结果、所述代码审核服务器记录的所述代码注释检测成功结果和所述编译成功结果,发送所述源代码至中心代码库。
8.如权利要求7所述的系统,其中,所述代码审核服务器还用于在所述源代码被发送至所述中心代码库后,反馈所述新增补丁提交状态为融合状态,触发BUG管理服务器更改所述新增补丁对应bug状态为已修复状态。
CN201710586359.5A 2017-07-18 2017-07-18 一种检测源代码的方法和系统 Withdrawn CN107463375A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710586359.5A CN107463375A (zh) 2017-07-18 2017-07-18 一种检测源代码的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710586359.5A CN107463375A (zh) 2017-07-18 2017-07-18 一种检测源代码的方法和系统

Publications (1)

Publication Number Publication Date
CN107463375A true CN107463375A (zh) 2017-12-12

Family

ID=60546838

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710586359.5A Withdrawn CN107463375A (zh) 2017-07-18 2017-07-18 一种检测源代码的方法和系统

Country Status (1)

Country Link
CN (1) CN107463375A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108763061A (zh) * 2018-04-29 2018-11-06 西安交通大学 一种计算机软件产品品质管制管理系统
CN109739507A (zh) * 2018-12-28 2019-05-10 睿驰达新能源汽车科技(北京)有限公司 一种代码持续集成方法和代码持续交付方法
CN109814914A (zh) * 2018-12-27 2019-05-28 网联清算有限公司 持续集成方法、装置和电子设备
CN110286912A (zh) * 2019-07-03 2019-09-27 广东三维家信息科技有限公司 代码检测方法、装置及电子设备
CN110471667A (zh) * 2019-07-25 2019-11-19 北京字节跳动网络技术有限公司 一种审核源程序的方法、装置、介质和电子设备
CN111813382A (zh) * 2020-06-23 2020-10-23 四川虹美智能科技有限公司 无形资产管理系统及方法
CN111937356A (zh) * 2018-04-06 2020-11-13 瑞典爱立信有限公司 无线电网络节点的用于处理消息以向无线设备传输的方法、中央单元和分布式单元
CN112231212A (zh) * 2020-10-16 2021-01-15 湖南皖湘科技有限公司 一种检测程序代码语法错误的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105183644A (zh) * 2015-08-20 2015-12-23 上海斐讯数据通信技术有限公司 一种多任务集成自动化测试系统及方法
CN105354045A (zh) * 2014-08-21 2016-02-24 中兴通讯股份有限公司 补丁的制作方法及装置、补丁的激活方法及装置
CN105404519A (zh) * 2015-12-07 2016-03-16 青岛海信电器股份有限公司 一种版本控制方法、代码测试方法及系统
US20160078041A1 (en) * 2014-09-15 2016-03-17 Martin Hartig Hot deployment of embedded database procedures
CN106294164A (zh) * 2016-08-15 2017-01-04 中国银行股份有限公司 一种代码检查方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105354045A (zh) * 2014-08-21 2016-02-24 中兴通讯股份有限公司 补丁的制作方法及装置、补丁的激活方法及装置
US20160078041A1 (en) * 2014-09-15 2016-03-17 Martin Hartig Hot deployment of embedded database procedures
CN105183644A (zh) * 2015-08-20 2015-12-23 上海斐讯数据通信技术有限公司 一种多任务集成自动化测试系统及方法
CN105404519A (zh) * 2015-12-07 2016-03-16 青岛海信电器股份有限公司 一种版本控制方法、代码测试方法及系统
CN106294164A (zh) * 2016-08-15 2017-01-04 中国银行股份有限公司 一种代码检查方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
RIBBON: "《软件测试之构建测试---BVT》", 《HTTPS://WWW.CNBLOGS.COM/RIBBON/ARCHIVE/2015/05/22/4517125.HTML》 *
杨胜利主编: "《软件测试技术》", 31 August 2015, 广东高等教育出版社 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111937356A (zh) * 2018-04-06 2020-11-13 瑞典爱立信有限公司 无线电网络节点的用于处理消息以向无线设备传输的方法、中央单元和分布式单元
CN108763061A (zh) * 2018-04-29 2018-11-06 西安交通大学 一种计算机软件产品品质管制管理系统
CN109814914A (zh) * 2018-12-27 2019-05-28 网联清算有限公司 持续集成方法、装置和电子设备
CN109739507A (zh) * 2018-12-28 2019-05-10 睿驰达新能源汽车科技(北京)有限公司 一种代码持续集成方法和代码持续交付方法
CN110286912A (zh) * 2019-07-03 2019-09-27 广东三维家信息科技有限公司 代码检测方法、装置及电子设备
CN110286912B (zh) * 2019-07-03 2023-08-18 广东三维家信息科技有限公司 代码检测方法、装置及电子设备
CN110471667A (zh) * 2019-07-25 2019-11-19 北京字节跳动网络技术有限公司 一种审核源程序的方法、装置、介质和电子设备
CN111813382A (zh) * 2020-06-23 2020-10-23 四川虹美智能科技有限公司 无形资产管理系统及方法
CN112231212A (zh) * 2020-10-16 2021-01-15 湖南皖湘科技有限公司 一种检测程序代码语法错误的方法

Similar Documents

Publication Publication Date Title
CN107463375A (zh) 一种检测源代码的方法和系统
WO2018120721A1 (zh) 用户界面的测试方法、系统、电子装置及计算机可读存储介质
CN104794048B (zh) 一种ui自动化测试方法和系统
US10943061B2 (en) Launching workflow processes based on annotations in a document
CN106355092B (zh) 用于优化反病毒测定的系统和方法
CN105871587A (zh) 日志上传方法及装置
CN107622375A (zh) 文档自动生成方法、文档自动生成器及可读存储介质
CN107453978A (zh) 基于群组的数据统计方法、移动终端、服务器及存储介质
CN104809056A (zh) 一种接口测试代码的生成方法和装置
CN104424242B (zh) 多媒体文件处理方法及系统
CN110213113A (zh) 基站的web配置管理方法及基站
CN107819616A (zh) 自动提取日志的方法、装置及系统
CN107632901A (zh) 一种应用程序运行异常的自修复方法及装置
CN108322329A (zh) 基于sdn网络的下发网络配置方法、装置及设备
CN108829430A (zh) 基于Eclipse和Tomcat的Java Web项目更新方法及相关装置
CN104123496B (zh) 一种流氓软件的拦截方法及装置、终端
CN108170609A (zh) 程序漏洞的定位方法、装置、计算机设备及可读存储介质
CN108170600A (zh) 前端代码测试的覆盖率统计方法、装置及系统
US9569516B2 (en) Method and device for executing an enterprise process
CN104318164B (zh) 一种应用程序的审核方法
US20150135015A1 (en) Cloud auto-test system, method and non-transitory computer readable storage medium of the same
CN107168704A (zh) 一种多页面资源文件注入方法及装置
CN113031944B (zh) 基于模板的业务开通装置及方法
CN109582524A (zh) 一种测试方法、系统及电子设备和存储介质
CN106649102A (zh) 基于钩子函数的图形界面程序测试日志记录及回放方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201103

Address after: 318015 no.2-3167, zone a, Nonggang City, no.2388, Donghuan Avenue, Hongjia street, Jiaojiang District, Taizhou City, Zhejiang Province

Applicant after: Taizhou Jiji Intellectual Property Operation Co.,Ltd.

Address before: 201616 Shanghai city Songjiang District Sixian Road No. 3666

Applicant before: Phicomm (Shanghai) Co.,Ltd.

WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20171212