异常代码识别方法、系统、电子设备及存储介质技术方案

技术编号:38097733 阅读:8 留言:0更新日期:2023-07-06 09:13
本申请提供一种异常代码识别方法、系统、电子设备及存储介质,涉及计算机领域。该异常代码识别方法应用于开发平台,该异常代码方法包括:解析目标代码包,获得所述目标代码包对应的代码文件;判断所述代码文件的类型,并基于所述代码文件的类型,获取相应的代码文件内容;根据所述代码文件内容和所述开发平台的平台支持信息,判断所述目标代码是否存在异常。实现了对不同平台之间不兼容的内容进行了识别,提高了小程序跨平台迁移的效率。提高了小程序跨平台迁移的效率。提高了小程序跨平台迁移的效率。

【技术实现步骤摘要】
异常代码识别方法、系统、电子设备及存储介质


[0001]本申请涉及计算机领域,具体而言,涉及一种异常代码识别方法、系统、电子设备及存储介质。

技术介绍

[0002]小程序是一种新的开放能力,可以在移动设备上直接运行,无需下载安装即可使用。小程序通常提供了一些特定的功能和服务,如在线购物、社交交流、在线预约、出行导航等,能够帮助用户更加便捷地获取所需的信息和服务。
[0003]不同的平台往往会采用同样功能的小程序,为了避免重复开发,可以考虑对已有的小程序进行不同平台之间的迁移,以节约开发成本。在小程序做迁移时,会对代码进行调整,使小程序适配于不同的平台。但目前对于不兼容的内容的排查效率低,导致了小程序的开发和迁移的效率较低。

技术实现思路

[0004]本申请实施例的目的在于提供一种异常代码识别方法、系统、电子设备及存储介质,用以通过解析目标小程序对应的代码包,从而获得目标代码对应的代码文件;根据代码文件的类型和代码文件的内容,以及本开发平台相关的支持信息,判断目标小程序对应的目标代码是否存在异常,判断是否存在不兼容的内容,提高了小程序跨平台迁移的效率。
[0005]第一方面,本申请实施例提供一种异常代码识别方法,异常代码识别方法应用于开发平台,方法包括:解析目标代码包,获得目标代码包对应的代码文件;判断代码文件的类型,并基于代码文件的类型,获取相应的代码文件内容;根据代码文件内容和开发平台的平台支持信息,判断目标代码是否存在异常。
[0006]在上述实现过程中,本申请实施例提供的异常代码识别方法通过解析目标小程序对应的代码包,从而获得目标代码对应的代码文件;根据代码文件的类型和代码文件的内容,以及本开发平台相关的支持信息,判断目标小程序对应的目标代码是否存在异常,判断是否存在不兼容的内容,提高了小程序跨平台迁移的效率。
[0007]可选地,在本申请实施例中,代码文件的类型包括JavaScript文件;平台支持信息包括平台支持接口;根据代码文件内容和开发平台的平台支持信息,判断目标代码是否存在异常,包括:根据JavaScript文件中的代码文件内容,生成JS抽象语法树;根据JS抽象语法树,对目标代码的编程接口和平台支持接口进行比对,以判断目标代码是否存在异常。
[0008]在上述实现过程中,本申请实施例提供的异常代码识别方法对于目标代码文件类型为JavaScript代码的情况下,生成JS抽象语法树,并对比目标代码的编程接口和平台支持接口,从而实现对目标代码是否异常的高效判断。
[0009]可选地,在本申请实施例中,根据JS抽象语法树,对目标代码的编程接口和平台支持接口进行比对,以判断目标代码是否存在异常,包括:根据JS抽象语法树,判断JS抽象语法树的表达式名称;根据表达式名称,获取目标代码的对象属性;根据对象属性和平台支持
接口的比对结果,判断目标代码是否存在异常。
[0010]在上述实现过程中,本申请实施例提供的异常代码识别方法对文件类型为JavaScript代码的情况下,通过表达式的类别和属性判断是否有平台不支持的接口;在代码解析阶段就检测到平台不支持的代码,减少手动检测的工作量和出错的可能性,从而减少开发人员的工作量。
[0011]可选地,在本申请实施例中,根据对象属性和平台支持接口的比对结果,判断目标代码是否存在异常,包括:获取代码文件内容中的调用关系对应的调用数据;其中,调用数据包括目标调用数据;获取目标调用数据对应的对象属性;根据目标调用数据对应的对象属性,获取目标调用数据支持的目标调用对象;其中,调用对象包括可调用目标调用数据的对象;判断目标调用对象中是否存在平台支持接口中对应的调用关系的调用对象之外的调用对象;若目标调用对象中存在平台支持接口对应的调用关系的调用对象之外的调用对象,则判定目标代码存在异常。
[0012]在上述实现过程中,本申请实施例提供的异常代码识别方法通过分析调用数据对应的对象属性,使用词法分的方法实现根据对象属性和平台支持接口判断目标代码是否存在异常,也就是平台支持接口不支持的接口调用。本申请实施例将源代码分解为更细节的、有意义的词法单元,使得语法分析器可以更简单地进行分析和处理,大大提升代码识别的效率。
[0013]可选地,在本申请实施例中,代码文件的类型包括xml文件;平台支持信息包括平台支持组件;根据代码文件内容和开发平台的平台支持信息,判断目标代码是否存在异常,包括:根据xml文件中的目标代码,生成xml抽象语法树;根据xml抽象语法树,对目标代码的组件和平台支持组件进行比对,以判断目标代码是否存在异常。
[0014]在上述实现过程中,本申请实施例提供的异常代码识别方法在代码文件是xml文件的情况下,根据xml文件的xml抽象语法树,与平台支持组件进行对比,从而判断目标组件是否存在异常。XML语法树可以准确地反映组件的结构和层次关系,提供了精准的组件信息,便于针对性的检测和分析,提高了判断和解决兼容性问题的效率。
[0015]可选地,在本申请实施例中,根据xml抽象语法树,对目标代码的组件和平台支持组件进行比对,以判断目标代码是否存在异常,包括:遍历xml抽象语法树,以获取xml抽象语法树中的目标元素;获取目标元素的目标标签名称和目标标签属性;根据目标标签名称、目标标签属性、平台支持组件对应的平台支持名称和平台支持属性,判断目标标签属性对应的目标元素中是否存在平台支持组件中不支持的目标元素;若目标标签属性对应的目标元素中存在不支持的目标元素,则判定目标代码存在异常。
[0016]在上述实现过程中,本申请实施例提供的异常代码识别方法可以通过判断平台支持组件的参数与目标标签属性参数之间的匹配关系,来判断目标代码对应的目标组件是否存在平台不支持的组件。通过xml语法树判断组件是否兼容具有精准性、全面性、高效性和可扩展性等优点,可以有效地检测和解决兼容性问题,提高组件的兼容性和可靠性。
[0017]可选地,在本申请实施例中,代码文件的类型包括json文件;平台支持信息包括平台支持配置属性;根据代码文件内容和开发平台的平台支持信息,判断目标代码是否存在异常,包括:根据json文件,获取目标代码对应的目标页面配置;基于目标页面配置,获取目标页面配置的目标配置属性;判断目标配置属性中是否存在平台支持配置属性不支持的目
标配置属性;若目标配置属性中存在不支持的目标配置属性,则判定目标代码存在异常。
[0018]在上述实现过程中,本申请实施例提供的异常代码识别方法,在目标代码文件为json文件的情况下,将目标标签属性配置和平台支持度信息进行对比,从而判断出目标页面是否存在不兼容的属性配置。通过对比目标配置属性和平台支持度信息,可以精确地筛选出不支持的属性,避免了手动逐一比对的繁琐过程,同时也减少了漏检或误判的风险。
[0019]可选地,在本申请实施例中,在根据代码文件内容和开发平台的平台支持信息,判断目标代码是否存在异常之后,方法还包括:若判定目标代码存在异常,则生成异本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种异常代码识别方法,其特征在于,所述异常代码识别方法应用于开发平台,所述方法包括:解析目标代码包,获得所述目标代码包对应的代码文件;判断所述代码文件的类型,并基于所述代码文件的类型,获取相应的代码文件内容;根据所述代码文件内容和所述开发平台的平台支持信息,判断所述目标代码是否存在异常。2.根据权利要求1所述的方法,其特征在于,其中,所述代码文件的类型包括JavaScript文件;所述平台支持信息包括平台支持接口;所述根据所述代码文件内容和所述开发平台的平台支持信息,判断所述目标代码是否存在异常,包括:根据所述JavaScript文件中的代码文件内容,生成JS抽象语法树;根据所述JS抽象语法树,对所述目标代码的编程接口和所述平台支持接口进行比对,以判断所述目标代码是否存在异常。3.根据权利要求2所述的方法,其特征在于,所述根据所述JS抽象语法树,对所述目标代码的编程接口和所述平台支持接口进行比对,以判断所述目标代码是否存在异常,包括:根据所述JS抽象语法树,判断所述JS抽象语法树的表达式名称;根据所述表达式名称,获取所述目标代码的对象属性;根据所述对象属性和所述平台支持接口的比对结果,判断所述目标代码是否存在异常。4.根据权利要求3所述的方法,其特征在于,所述根据所述对象属性和所述平台支持接口的比对结果,判断所述目标代码是否存在异常,包括:获取所述代码文件内容中的调用关系对应的调用数据;其中,所述调用数据包括目标调用数据;获取所述目标调用数据对应的所述对象属性;根据所述目标调用数据对应的所述对象属性,获取所述目标调用数据支持的目标调用对象;其中,所述调用对象包括可调用所述目标调用数据的对象;判断所述目标调用对象中是否存在所述平台支持接口中对应的调用关系的调用对象之外的调用对象;若所述目标调用对象中存在所述平台支持接口对应的调用关系的调用对象之外的调用对象,则判定所述目标代码存在异常。5.根据权利要求1所述的方法,其特征在于,其中,所述代码文件的类型包括xml文件;所述平台支持信息包括平台支持组件;所述根据所述代码文件内容和所述开发平台的平台支持信息,判断所述目标代码是否存在异常,包括:根据所述xml文件中的目标代码,生成xml抽象语法树;根据所述xml抽象语法树,对所述目标代码的组件和所述平台支持组件进行...

【专利技术属性】
技术研发人员:杨涛
申请(专利权)人:深圳凡泰极客科技有限责任公司
类型:发明
国别省市:

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

1