CN113568662A - 一种基于调用关系的代码变更影响范围分析方法及系统 - Google Patents

一种基于调用关系的代码变更影响范围分析方法及系统 Download PDF

Info

Publication number
CN113568662A
CN113568662A CN202110833598.2A CN202110833598A CN113568662A CN 113568662 A CN113568662 A CN 113568662A CN 202110833598 A CN202110833598 A CN 202110833598A CN 113568662 A CN113568662 A CN 113568662A
Authority
CN
China
Prior art keywords
code
change
input
line number
influence
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.)
Granted
Application number
CN202110833598.2A
Other languages
English (en)
Other versions
CN113568662B (zh
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.)
China Citic Bank Corp Ltd
Original Assignee
China Citic Bank Corp 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 China Citic Bank Corp Ltd filed Critical China Citic Bank Corp Ltd
Priority to CN202110833598.2A priority Critical patent/CN113568662B/zh
Publication of CN113568662A publication Critical patent/CN113568662A/zh
Application granted granted Critical
Publication of CN113568662B publication Critical patent/CN113568662B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/77Software metrics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及一种基于调用关系的代码变更影响范围分析方法及系统,使用所述条件分支代码行号范围、代码调用关系、变更代码影响模型和输入输出变量名行号关系分析获得所述变更代码行号所对应的全部影响范围代码行号,可以很准确的定位分析出代码变更行对于其他代码的影响范围,尤其是对于存在调用关系以及多条件分支情况下的代码影响范围分析更加准确,可以有效的减少传统方法进行代码变更影响范围分析的冗余数据,以及改善存在调用关系以及多条件分支情况下影响范围的数据的准确性。

Description

一种基于调用关系的代码变更影响范围分析方法及系统
技术领域
本发明涉及软件测试技术领域,尤其涉及一种基于调用关系的代码变更影响范围分析方法及系统。
背景技术
当前软件功能不断增加和复杂性的提高,软件的代码的量不断增加。为了升级软件服务以及修复漏洞,在很多场景下,研发人员需要对现有代码进行变更。但是由于软件本身越来越复杂,而且很多代码还隐藏着调用与被调用的关系,导致研发人员在修改代码后不能确定修改内容是否会对软件其他部分造成影响,需要测试人员全面的考虑到代码变更的影响范围并进行测试,如果测试不全面,可能导致上线后出现问题。
现有技术中测试人员分析代码变更所带来的影响一般依靠人工分析、通过语法与词法分析或搜索目标符号方法。其中,人工分析方法需要测试人员人工分析寻找代码变更影响范围,以设计全面的测试用例保证测试的全面和质量。不过,因为现在代码量不断迭代,研发人员要对代码逻辑及结构理解也越来越复杂,代码复杂度很高时很难分析变更代码影响范围,人工的进行分析费时费力,而且也会出现遗漏的情况,所以说效率非常低;通过语法与词法分析方法进行,或者通过搜索目标符号(函数、方法、变量等)影响的范围文件,搜索到的结构可能包括了冗余的数据,实现起来难度很大而且无法对代码存在条件分支关系的情况下进行准确的影响范围分析,而且存在调用关系时的遗漏。
发明内容
为解决现有技术的不足,本发明提出一种基于调用关系的代码变更影响范围分析方法及系统,可以很准确的定位分析出代码变更行对于其他代码的影响范围,尤其是对于存在调用关系以及多条件分支情况下的代码影响范围分析更加准确,可以有效的减少传统方法进行代码变更影响范围分析的冗余数据,以及改善存在调用关系以及多条件分支情况下影响范围的数据的准确性。
为实现以上目的,本发明所采用的技术方案包括:
一种基于调用关系的代码变更影响范围分析方法,其特征在于,包括:
比对变更代码文件与当前版本代码文件,解析获得变更代码行号和不同分支下条件分支代码行号范围;
建立基于条件分支函数的代码调用关系;
建立变更代码影响模型;
建立输入输出变量名行号关系;
使用所述条件分支代码行号范围、代码调用关系、变更代码影响模型和输入输出变量名行号关系分析获得所述变更代码行号所对应的全部影响范围代码行号。
进一步地,所述使用所述条件分支代码行号范围、代码调用关系、变更代码影响模型和输入输出变量名行号关系分析获得所述变更代码行号所对应的全部影响范围代码行号包括:
查询变更代码影响模型下的变更代码影响范围数据;
判断变更代码影响范围数据是否影响输入输出变量值;
当变更代码影响范围数据不影响输入输出变量值时,组装变更代码影响范围数据获得全部影响范围代码行号;
当变更代码影响范围数据影响输入输出变量值时,通过输入输出变量名行号关系与代码调用关系查询当前条件分支代码行号范围内存在输入输出变量值的后续行范围数据;
组装变更代码影响范围数据和后续行范围数据获得全部影响范围代码行号。
进一步地,所述建立基于条件分支函数的代码调用关系包括:
将变更代码行号和不同分支下条件分支代码行号范围使用java源码进行编译生成class文件;
使用java字节码解析,获取基于条件分支函数的代码调用关系,所述函数所涉及的子节点信息包括代码分支条件所在行、函数所在代码行、所属文件名、函数内部所有代码行、是否影响输入参数以及调用的函数信息。
进一步地,所述建立变更代码影响模型包括:
解析变更代码行号下代码行是否影响输入输出变量值;
当变更代码行号下代码行具有函数调用关系时,查询该函数调用关系是否影响输入输出变量值;
将受到影响的输入输出变量值组装为变更代码影响模型,所述变更代码影响模型所涉及的参数包括变更代码是否改变输入参数、变更代码行号和输入输出变量名称。
进一步地,所述建立输入输出变量名行号关系包括:
根据变更代码影响模型查询函数调用关系下受到变更影响的所有相关代码行;
判断相关代码行是否属于不同分支,若属于不同分支,则从相关代码行中去除其他分支下的代码;
进一步判断相关代码行是否受到输入输出变量值影响,获得相关代码行中含有输入输出变量名的部分;
比对含有输入输出变量名的变更代码行号和含有输入输出变量名的后续行号并建立行号关系。
本发明还涉及一种基于调用关系的代码变更影响范围分析系统,其特征在于,包括:
变更代码预处理模块,用于解析获得变更代码行号和不同分支下条件分支代码行号范围;
代码调用关系生成模块,用于建立基于条件分支函数的代码调用关系;
变更代码影响模型生成模块,用于建立变更代码影响模型;
输入输出变量名行号关系生成模块,用于建立输入输出变量名行号关系;
影响范围代码行号分析模块,用于分析获得所述变更代码行号所对应的全部影响范围代码行号。
进一步地,所述影响范围代码行号分析模块包括:
变更代码影响范围数据判断子模块,用于判断变更代码影响范围数据是否影响输入输出变量值。
本发明还涉及一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
本发明还涉及一种电子设备,其特征在于,包括处理器和存储器;
所述存储器,用于存储变更代码文件与当前版本代码文件;
所述处理器,用于通过调用变更代码文件与当前版本代码文件,执行上述的方法。
本发明的有益效果为:
采用本发明所述基于调用关系的代码变更影响范围分析方法及系统,可以很准确的定位分析出代码变更行对于其他代码的影响范围,对于存在调用关系以及多条件分支情况下的代码影响范围分析更加准确,可以有效的减少传统其他方法进行代码变更影响范围分析的冗余数据,以及存在调用关系以及多条件分支情况下的影响范围的数据的准确性,有助于提高影响范围分析数据的准确度和效率,解决影响范围冗余数据多和代码调用函数关系时影响范围计算不准确的问题。
附图说明
图1为本发明基于调用关系的代码变更影响范围分析方法流程示意图。
图2为本发明基于调用关系的代码变更影响范围分析系统结构示意图。
具体实施方式
为了更清楚的理解本发明的内容,将结合附图和实施例详细说明。
本发明第一方面涉及一种如图1所示的基于调用关系的代码变更影响范围分析方法,包括:
比对变更代码文件与当前版本代码文件,解析获得变更代码行号和不同分支下条件分支代码行号范围;
建立基于条件分支函数的代码调用关系,特别是包括将变更代码行号和不同分支下条件分支代码行号范围使用java源码进行编译生成class文件;使用java字节码解析,获取基于条件分支函数的代码调用关系,所述函数所涉及的子节点信息包括代码分支条件所在行、函数所在代码行、所属文件名、函数内部所有代码行、是否影响输入参数以及调用的函数信息;
建立变更代码影响模型,特别是包括解析变更代码行号下代码行是否影响输入输出变量值;当变更代码行号下代码行具有函数调用关系时,查询该函数调用关系是否影响输入输出变量值;将受到影响的输入输出变量值组装为变更代码影响模型,所述变更代码影响模型所涉及的参数包括变更代码是否改变输入参数、变更代码行号和输入输出变量名称;
建立输入输出变量名行号关系,特别是包括判断相关代码行是否属于不同分支,若属于不同分支,则从相关代码行中去除其他分支下的代码;进一步判断相关代码行是否受到输入输出变量值影响,获得相关代码行中含有输入输出变量名的部分;比对含有输入输出变量名的变更代码行号和含有输入输出变量名的后续行号并建立行号关系;
查询变更代码影响模型下的变更代码影响范围数据;
判断变更代码影响范围数据是否影响输入输出变量值;
当变更代码影响范围数据不影响输入输出变量值时,组装变更代码影响范围数据获得全部影响范围代码行号;
当变更代码影响范围数据影响输入输出变量值时,通过输入输出变量名行号关系与代码调用关系查询当前条件分支代码行号范围内存在输入输出变量值的后续行范围数据;
组装变更代码影响范围数据和后续行范围数据获得全部影响范围代码行号。
本发明还涉及一种如图2所示结构的基于调用关系的代码变更影响范围分析系统,包括:
变更代码预处理模块,用于解析获得变更代码行号和不同分支下条件分支代码行号范围;
代码调用关系生成模块,用于建立基于条件分支函数的代码调用关系;
变更代码影响模型生成模块,用于建立变更代码影响模型;
输入输出变量名行号关系生成模块,用于建立输入输出变量名行号关系;
影响范围代码行号分析模块,用于分析获得所述变更代码行号所对应的全部影响范围代码行号。
使用上述系统可以执行上述方法,以分析某一单行代码为例,具体可以包括以下执行步骤:
S1、通过代码平台获取用户提交代码变更文件,通过git diff文件计算变更代码行号。
S2、通过java字节码技术解析不同分支下条件分支代码行号范围,并按照不同文件名建立关系,比如(“/com/base/apply.java”,[2,6,8,9,11])。
S3、基于java的asm字节码解析技术建立基于条件分支函数的代码调用关系,每个函数的子节点信息包括代码分支条件所在行、函数所在代码行、所属文件名、函数内部所有代码行、是否影响输入参数以及调用的函数信息。每个函数调用关系可以为tree类型数据结构。
S4、根据代码变更行代码行搜索S3中的代码调用关系里的函数所在代码行,若没有查询到函数调用则直接解析当前代码行是否影响输入输出变量值。若查询到存在函数调用,则进一步查询函数调用关系数据是否影响输入变量值。
S5、建立变更代码影响模型,该模型的参数包括变更代码是否改变输入参数、变更代码行号和输入输出变量名称。
S6、建立方法内部变更行号与引用输入输出变量名的变更行后续行的行号关系。根据S5获取的变更代码影响模型,S3获取的代码调用关系中函数内部代码行号查询当前函数变更影响行(相关代码行)下所有的代码。根据S2获取的不同分支下条件分支代码行号范围,判断当前变更代码是否处于分支代码范围,若是则获取其他分支的范围行,并从相关代码行中去除其他分支下的代码。需要注意的是需要先找到变更代码所在的文件名,再根据文件名查询分支范围,比如(“com/pop/mh/kk.java”,{[1,2.3],[6,,8,11]),若当前代码变更行为2,变更影响行下面的所有行为[2,6,8,9,18],则当前变更影响行下面的所有的代码行则为[2,9,18]。
S7、根据变更代码影响模型里的输入输出变量名判断是否存在影响,若输入输出变量值有影响则查询上述获取的变更影响行下面的所有行的代码,获取含有输入输出变量名的代码行。如输入输出变量值没有影响,则当前代码行影响范围计算完成,跳到S13。
S8、建立方法内部变更行号与变更行的后续行含有输入输出变量名的代码行的行号关系,该关系包括了文件名、方法名,如(“com/push/m.java”,”func”,”2”,[9,10,11])。
S9、根据S8获取的输入输出变量名行号关系,根据行号、文件名依次查询S3获取的基于条件分支函数代码调用关系的函数,若查询到且该函数会影响输入输出变量值,则获取该函数。
S10、根据S9中的函数的入参,查询该函数的所有内部代码行,获取引用到该参数的所有代码行(函数内部的代码行),若当前变更代码若处于分支代码范围,则获取其他分支的范围行,那么引用到该参数的所有代码行需要去除其他分支的范围行。
S11、建立方法内部变更行号与变更行后续行含有输入输出变量名的代码行的行号关系,特别是也需要根据文件名来建立关系。
S12、重复S9,直到没有函数调用或者函数不影响输入输出变量结束,最后得到的结果会是很多文件名与代码变更影响行的关系map数据。
S13、组装所有的代码变更影响范围数据,根据文件名、影响范围行建立关系并去重。这里需要把S6的方法内部变更行号与引用输入输出变量名的变更行后续行的行号关系合并到一起进行去重。最后的结构如(“com/push/m.java”,[1,5,6,8]),(“com/pk/k.java”,[2,6,8,9])。
通过此方法,可以得到gitlab上分支提交代码变更的java代码的变更影响范围,包括了影响的所有文件的代码范围行,对应不相同的多行代码只需针对每行代码重复此流程即可分别获得其影响范围。
进一步地,本发明还涉及一种存储有执行上述基于调用关系的代码变更影响范围分析方法的程序的可读存储介质,通过使用该可读存储介质能够执行该程序从而实现上述基于调用关系的代码变更影响范围分析方法。
进一步地,本发明还涉及一种包括有存储器和处理器的电子设备,所述存储器用于存储执行上述基于调用关系的代码变更影响范围分析方法所必要的数据,所述处理器用于执行基于调用关系的代码变更影响范围分析方法。
以上所述仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换等都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。

Claims (9)

1.一种基于调用关系的代码变更影响范围分析方法,其特征在于,包括:
比对变更代码文件与当前版本代码文件,解析获得变更代码行号和不同分支下条件分支代码行号范围;
建立基于条件分支函数的代码调用关系;
建立变更代码影响模型;
建立输入输出变量名行号关系;
使用所述条件分支代码行号范围、代码调用关系、变更代码影响模型和输入输出变量名行号关系分析获得所述变更代码行号所对应的全部影响范围代码行号。
2.如权利要求1所述的方法,其特征在于,所述使用所述条件分支代码行号范围、代码调用关系、变更代码影响模型和输入输出变量名行号关系分析获得所述变更代码行号所对应的全部影响范围代码行号包括:
查询变更代码影响模型下的变更代码影响范围数据;
判断变更代码影响范围数据是否影响输入输出变量值;
当变更代码影响范围数据不影响输入输出变量值时,组装变更代码影响范围数据获得全部影响范围代码行号;
当变更代码影响范围数据影响输入输出变量值时,通过输入输出变量名行号关系与代码调用关系查询当前条件分支代码行号范围内存在输入输出变量值的后续行范围数据;
组装变更代码影响范围数据和后续行范围数据获得全部影响范围代码行号。
3.如权利要求2所述的方法,其特征在于,所述建立基于条件分支函数的代码调用关系包括:
将变更代码行号和不同分支下条件分支代码行号范围使用java源码进行编译生成class文件;
使用java字节码解析,获取基于条件分支函数的代码调用关系,所述函数所涉及的子节点信息包括代码分支条件所在行、函数所在代码行、所属文件名、函数内部所有代码行、是否影响输入参数以及调用的函数信息。
4.如权利要求2所述的方法,其特征在于,所述建立变更代码影响模型包括:
解析变更代码行号下代码行是否影响输入输出变量值;
当变更代码行号下代码行具有函数调用关系时,查询该函数调用关系是否影响输入输出变量值;
将受到影响的输入输出变量值组装为变更代码影响模型,所述变更代码影响模型所涉及的参数包括变更代码是否改变输入参数、变更代码行号和输入输出变量名称。
5.如权利要求2所述的方法,其特征在于,所述建立输入输出变量名行号关系包括:
根据变更代码影响模型查询函数调用关系下受到变更影响的所有相关代码行;
判断相关代码行是否属于不同分支,若属于不同分支,则从相关代码行中去除其他分支下的代码;
进一步判断相关代码行是否受到输入输出变量值影响,获得相关代码行中含有输入输出变量名的部分;
比对含有输入输出变量名的变更代码行号和含有输入输出变量名的后续行号并建立行号关系。
6.一种基于调用关系的代码变更影响范围分析系统,其特征在于,包括:
变更代码预处理模块,用于解析获得变更代码行号和不同分支下条件分支代码行号范围;
代码调用关系生成模块,用于建立基于条件分支函数的代码调用关系;
变更代码影响模型生成模块,用于建立变更代码影响模型;
输入输出变量名行号关系生成模块,用于建立输入输出变量名行号关系;
影响范围代码行号分析模块,用于分析获得所述变更代码行号所对应的全部影响范围代码行号。
7.如权利要求6所述的系统,其特征在于,所述影响范围代码行号分析模块包括:
变更代码影响范围数据判断子模块,用于判断变更代码影响范围数据是否影响输入输出变量值。
8.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法。
9.一种电子设备,其特征在于,包括处理器和存储器;
所述存储器,用于存储变更代码文件与当前版本代码文件;
所述处理器,用于通过调用变更代码文件与当前版本代码文件,执行权利要求1至5中任一项所述的方法。
CN202110833598.2A 2021-07-23 2021-07-23 一种基于调用关系的代码变更影响范围分析方法及系统 Active CN113568662B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110833598.2A CN113568662B (zh) 2021-07-23 2021-07-23 一种基于调用关系的代码变更影响范围分析方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110833598.2A CN113568662B (zh) 2021-07-23 2021-07-23 一种基于调用关系的代码变更影响范围分析方法及系统

Publications (2)

Publication Number Publication Date
CN113568662A true CN113568662A (zh) 2021-10-29
CN113568662B CN113568662B (zh) 2024-04-30

Family

ID=78166515

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110833598.2A Active CN113568662B (zh) 2021-07-23 2021-07-23 一种基于调用关系的代码变更影响范围分析方法及系统

Country Status (1)

Country Link
CN (1) CN113568662B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215391A (ja) * 2000-11-20 2002-08-02 Fujitsu Ltd プログラム解析装置及びプログラム解析方法及び記録媒体
CN103902255A (zh) * 2012-12-24 2014-07-02 腾讯科技(深圳)有限公司 一种函数关系调用树的生成方法及系统
US20180314519A1 (en) * 2017-04-26 2018-11-01 Hyundai Motor Company Method and apparatus for analyzing impact of software change
CN108733558A (zh) * 2017-04-14 2018-11-02 歌乐株式会社 计算装置、影响输出系统、影响判定方法
CN110888625A (zh) * 2019-11-05 2020-03-17 南方电网财务有限公司 基于需求变更和项目风险对代码质量进行控制的方法
CN111897719A (zh) * 2020-07-04 2020-11-06 毛澄映 基于代码文本和调用关系的程序变更影响分析方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215391A (ja) * 2000-11-20 2002-08-02 Fujitsu Ltd プログラム解析装置及びプログラム解析方法及び記録媒体
CN103902255A (zh) * 2012-12-24 2014-07-02 腾讯科技(深圳)有限公司 一种函数关系调用树的生成方法及系统
CN108733558A (zh) * 2017-04-14 2018-11-02 歌乐株式会社 计算装置、影响输出系统、影响判定方法
US20180314519A1 (en) * 2017-04-26 2018-11-01 Hyundai Motor Company Method and apparatus for analyzing impact of software change
CN110888625A (zh) * 2019-11-05 2020-03-17 南方电网财务有限公司 基于需求变更和项目风险对代码质量进行控制的方法
CN111897719A (zh) * 2020-07-04 2020-11-06 毛澄映 基于代码文本和调用关系的程序变更影响分析方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
单征;王洋;孟曦;闫丽景;: "一种源码级的上下文敏感性检测算法", 计算机应用研究, no. 05, 31 May 2017 (2017-05-31) *
杨鹤标;陈震;: "面向对象代码变更影响分析模型的研究", 计算机工程与设计, no. 19, 16 October 2010 (2010-10-16) *

Also Published As

Publication number Publication date
CN113568662B (zh) 2024-04-30

Similar Documents

Publication Publication Date Title
CN110427331B (zh) 基于接口测试工具自动生成性能测试脚本的方法
CN111459799B (zh) 一种基于Github的软件缺陷检测模型建立、检测方法及系统
CN112394942B (zh) 基于云计算的分布式软件开发编译方法及软件开发平台
CN111382070B (zh) 兼容性测试方法、装置、存储介质和计算机设备
CN109857641A (zh) 对程序源文件进行缺陷检测的方法及装置
CN108763064B (zh) 一种基于黑盒函数与机器学习的代码测试生成方法和装置
CN112328499A (zh) 一种测试数据生成方法、装置、设备及介质
CN108710662B (zh) 语言转换方法和装置、存储介质、数据查询系统和方法
CN113190220A (zh) Json文件差异化对比方法及装置
CN108897678B (zh) 静态代码检测方法和静态代码检测系统、存储设备
CN112380120B (zh) 单元测试代码结构自动解析与路径分析方法
CN110580170B (zh) 软件性能风险的识别方法及装置
CN116820996A (zh) 基于人工智能的集成测试用例自动生成方法和装置
CN109032946B (zh) 一种测试方法和装置、计算机可读存储介质
CN113568662B (zh) 一种基于调用关系的代码变更影响范围分析方法及系统
CN108536585B (zh) 数据变更影响域分析方法
CN113157551B (zh) 一种面向ros的差分模糊测试方法
CN112395199B (zh) 基于云计算的分布式软件实例测试方法及软件开发平台
CN114895914A (zh) 日志输出代码的生成方法、装置、电子设备及存储介质
CN114490413A (zh) 测试数据的准备方法及装置、存储介质和电子设备
WO2021104027A1 (zh) 代码性能检测方法、装置、设备及存储介质
CN114647439A (zh) 一种代码扫描的方法、代码迁移的方法及相关装置
CN112925874A (zh) 基于案例标记的相似代码搜索方法及系统
CN111221821A (zh) 一种ai模型迭代更新方法、电子设备及存储介质
Anderson Modeling and analysis of SQL queries in PHP systems

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
GR01 Patent grant
GR01 Patent grant