一种源代码中无效函数的查找方法和设备技术

技术编号:16365434 阅读:33 留言:0更新日期:2017-10-10 21:26
本申请公开了一种源代码中无效函数的查找方法和设备,包括:提取源代码中包含的函数表达式;根据预设的函数表达式的引用类型,查找提取到的所述函数表达式对应的引用类型,所述引用类型包含显性引用类型、隐性引用类型;若查找结果为无法确定所述函数表达式对应的引用类型,则确定提取到的所述函数表达式为无效函数。通过提取源代码中包含的函数表达式,进而判断所提取的函数表达式的引用类型,能够有效查找出无效函数,进而能够帮助开发人员有效减小软件安装包的大小,提升排查源代码中包含的废弃代码的效率。

Method and apparatus for searching Invalid function in source code

The invention discloses a search method and device, an invalid function source code comprises: extracting the function expression of the source code contains the function expression; according to preset reference types, reference types corresponding to the search function expression to extract, the reference types contain explicit reference types, implicit reference types; if the search result is unable to determine the type of reference the corresponding function, determine the function expression to extract invalid function. The function including the extraction of the source code, and then determine the type of reference function expression extraction, can effectively find out the invalid function, which can help developers reduce the software installation package size, enhance the investigation in the source code containing waste code efficiency.

【技术实现步骤摘要】
一种源代码中无效函数的查找方法和设备
本申请涉及互联网信息处理技术及计算机
,尤其涉及一种源代码中无效函数的查找方法和设备。
技术介绍
目前,随着智能终端的普及,智能终端上的各种应用(Application,APP)也得到了广泛的应用。对于一款APP,随着版本迭代、功能变更、业务增加,该APP的源代码不断地增加、修改以及删除,特别是多人开发、长期开发的大型项目,APP的源代码中非常容易出现没有被使用的废弃代码(这里可以称之为无效类函数)。其中,所述无效类函数指APP在运行时不再被调用或者引用的函数。由此可见,所述无效类函数是源代码中的冗余部分,会导致APP安装包不必要地增大。为了保证APP安装包中所包含的代码得以精简,需要对APP的源代码中包含的废弃代码进行查找,例如:对ios系统的Objective-C代码中的废弃代码进行查找。但是,在对Objective-C代码中的废弃代码进行查找时,Objective-C语言属于一种动态类型语言,具备动态编程语言特性。但是,在编译时无法查找废弃代码,这样导致排查源代码中包含的废弃代码的效率比较低。
技术实现思路
有鉴于此,本申请实施例提出了一本文档来自技高网...
一种源代码中无效函数的查找方法和设备

【技术保护点】
一种源代码中无效函数的查找方法,其特征在于,包括:提取源代码中包含的函数表达式;根据预设的函数表达式的引用类型,查找提取到的所述函数表达式对应的引用类型,其中,所述引用类型包含显性引用类型、隐性引用类型;若查找结果为无法确定所述函数表达式对应的引用类型,则确定提取到的所述函数表达式为无效函数。

【技术特征摘要】
1.一种源代码中无效函数的查找方法,其特征在于,包括:提取源代码中包含的函数表达式;根据预设的函数表达式的引用类型,查找提取到的所述函数表达式对应的引用类型,其中,所述引用类型包含显性引用类型、隐性引用类型;若查找结果为无法确定所述函数表达式对应的引用类型,则确定提取到的所述函数表达式为无效函数。2.如权利要求1所述的查找方法,其特征在于,所述隐性引用类型包含委托型引用类型、属性型引用类型、常量型引用类型中至少一种。3.如权利要求1所述的查找方法,其特征在于,根据预设的函数表达式的引用类型,查找提取到的所述函数表达式对应的引用类型,包括:判断提取到的所述函数表达式是否属于显性引用类型,或判断提取到的所述函数表达式是否属于隐性引用类型。4.如权利要求3所述的查找方法,其特征在于,查找结果为无法确定所述函数表达式对应的引用类型,包括:若判断结果为提取到的所述函数表达式不属于显性引用类型且提取到的所述函数表达式不属于隐性引用类型,则确定查找结果为无法确定所述函数表达式对应的引用类型。5.如权利要求3或4所述的查找方法,其特征在于,查找结果为无法确定所述函数表达式对应的引用类型,包括:进一步判断提取到的所述函数表达式是否属于白名单中包含的函数表达式,其中,所述白名单中包含的函数表达式为特殊引用类型的函数表达式;若判断结果是提取到的所述函数表达式不属于白名单中包含的函数表达式,则确定查找结果为无法确定所述函数表达式对应的引用类型。6.一种源代码中无效函数的查找设备,其特...

【专利技术属性】
技术研发人员:郭春杨洪涛
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1