【技术实现步骤摘要】
本申请涉及互联网
,尤其涉及一种冗余代码检测方法及装置。
技术介绍
冗余代码,是指在正式发布的应用程序代码中,对于实现应用功能而言不必要的部分。出于多种客观原因,在开发阶段中引入冗余代码总是难以避免的,而且由于其本身并不影响应用功能的实现,因此也不会在测试阶段被检测到,使得其最终被保留在正式的程序代码中。尽管冗余代码不会影响正常的应用功能,但是仍然会产生降低程序执行效率、增加程序文件体积等负面影响,因此对冗余代码进行检测并清理仍然具有重要意义。代码冗余的一种类型是的代码数量的冗余,即在程序代码中存在不会被执行到的语句和分支,这些冗余代码会增加程序文件的大小,而且会增加程序的维护难度。针对这种情况,现有技术的一种解决方案是:对程序源代码进行布点转换,布点的作用是为程序增加对各个语句和分支执行情况的统计功能,通过运行转换后的程序代码,就可以统计出那些语句和分支没有被执行过,从而确定冗余代码。布点转换的实现方案已经比较成熟,然而在实际应用中,一个程序文件中的多种逻辑往往会在不同的场景被触发,如果无法保证布点程序的执行场景覆盖全面,则会导致对冗余代码的错误识别。
技术实现思路
针对上述技术问题,本申请提供一种冗余代码检测方法及装置,技术方案如下:根据本申请的第一方面,提供一种冗余代码检测方法,应用于服务器端,该方法包括:接收客户端发送的针对目标文件的下载请求;将所述目标文件的布点版本文件提供给所述客户端,以响应所述下载请求;接收客户端上传的所述目标文件的代码执行统计结果,所述代码执行统计结果通过执行所述布点版本文件得到;对所述目标文件的至少两份 ...
【技术保护点】
一种冗余代码检测方法,应用于服务器端,其特征在于,该方法包括:接收客户端发送的针对目标文件的下载请求;将所述目标文件的布点版本文件提供给所述客户端,以响应所述下载请求;接收客户端上传的所述目标文件的代码执行统计结果,所述代码执行统计结果通过执行所述布点版本文件得到;对所述目标文件的至少两份代码执行统计结果进行交集分析,根据分析结果,将未被执行过的代码标记为所述目标文件的冗余代码。
【技术特征摘要】
1.一种冗余代码检测方法,应用于服务器端,其特征在于,该方法包括:接收客户端发送的针对目标文件的下载请求;将所述目标文件的布点版本文件提供给所述客户端,以响应所述下载请求;接收客户端上传的所述目标文件的代码执行统计结果,所述代码执行统计结果通过执行所述布点版本文件得到;对所述目标文件的至少两份代码执行统计结果进行交集分析,根据分析结果,将未被执行过的代码标记为所述目标文件的冗余代码。2.根据权利要求1所述的方法,其特征在于,所述将目标文件的布点版本文件提供给所述客户端,包括:以预设的概率,将所述目标文件的布点版本文件提供给所述客户端。3.根据权利要求1所述的方法,其特征在于,所述将目标文件的布点版本文件提供给所述客户端,包括:根据所述客户端的属性信息,将目标文件的布点版本文件提供给所述客户端,所述客户端的属性信息用于表示该客户端是否接收布点版本文件。4.根据权利要求1所述的方法,其特征在于,所述对目标文件的至少两份代码执行统计结果进行交集分析,包括:在代码执行统计结果数量达到预设要求的情况下,对所述目标文件的代码执行统计结果进行交集分析。5.一种冗余代码检测方法,其特征在于,该方法包括:客户端向服务器端发送针对目标文件的下载请求;服务器端接收所述下载请求,将所述目标文件的布点版本文件提供给所述客户端,以响应所述下载请求;客户端将执行所述布点版本文件后得到的代码执行统计结果上传至所述服务器端;服务器端接收客户端上传的所述目标文件的代码执行统计结果;对所述目
\t标文件的至少两份代码执行统计结果进行交集分析,根据分析结果,将未被执行过的代码标记为所述目标文件的冗余代码。6.一种冗余代码检测装置,应用于...
【专利技术属性】
技术研发人员:陈成,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。