WO2023207103A1 - Procédé et appareil de conversion de code - Google Patents

Procédé et appareil de conversion de code Download PDF

Info

Publication number
WO2023207103A1
WO2023207103A1 PCT/CN2022/136861 CN2022136861W WO2023207103A1 WO 2023207103 A1 WO2023207103 A1 WO 2023207103A1 CN 2022136861 W CN2022136861 W CN 2022136861W WO 2023207103 A1 WO2023207103 A1 WO 2023207103A1
Authority
WO
WIPO (PCT)
Prior art keywords
code
adaptation
library
code block
block
Prior art date
Application number
PCT/CN2022/136861
Other languages
English (en)
Chinese (zh)
Inventor
程啸
李星军
俞俊杰
奥列格塞雷布伦尼科夫
塔塔尔尼科夫安德烈
梁广泰
Original Assignee
华为云计算技术有限公司
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 华为云计算技术有限公司 filed Critical 华为云计算技术有限公司
Publication of WO2023207103A1 publication Critical patent/WO2023207103A1/fr

Links

Images

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
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Definitions

  • the embodiments of the present application relate to the field of computer technology, and specifically relate to a code conversion method and device.
  • the existing technology guides the mining and application of adaptation patterns by describing adaptation rules using domain-specific language (DSL).
  • DSL domain-specific language
  • Embodiments of the present application provide a code conversion method and device, which can accumulate adaptation patterns through manual modification and improve the degree of automatic adaptation of codes.
  • a code conversion method includes: when the first code library that the code depends on is replaced with a second code library, obtain a second code block input by the user, and the second code block is Adapt the first code block in the code to the second code library; determine the target adaptation mode of the second code block and the first code block; store the target adaptation mode in the appropriate Adaptation pattern library, the adaptation pattern library is used to generate a fourth code block for the third code block that is suitable for the target adaptation mode, and the fourth code block is used to adapt the third code block to the Second code base.
  • replacing the first code base with the second code base may be an upgrade or change of the code base.
  • it can be that code base A 1.0 version is upgraded to code base A 2.0 version, or code base A is changed to code base B.
  • the first code block is a code block that is not suitable for the second code base.
  • the first code block may be a code method method 1 that relies on the API in the first code library.
  • method 1 When the first code library is replaced with the second code library, due to the modification of the dependent library of the code, method 1 does not exist. API to call.
  • method 1 can be modified to method 2 with the same function replacement, or multiple sub-function methods that can replace method 1 function, that is, the second code block is all modified to adapt to the second code base. Describe the first code block.
  • determining the target adaptation mode of the second code block and the first code block may be to update an existing adaptation mode in the adaptation mode library, or to determine an adaptation that is not in the adaptation pattern library. model.
  • the target adaptation mode of the second code block and the first code block can convert a code block with the same characteristics as the first code block into a code block adapted to the second code base. That is to say, the first code block and code blocks with the same characteristics as the first code block all correspond to the target adaptation mode.
  • the target adaptation mode may modify the third code block to fit the fourth code block of the second code base.
  • the adaptation pattern library can be a local adaptation pattern database or a remote adaptation pattern database.
  • the adaptation pattern library can be used by multiple computer devices to share the target adaptation pattern, helping more users in the same scenario to implement automated code adaptation.
  • Embodiments of the present application provide a code conversion method, which can use manual modification to accumulate adaptation patterns and improve the degree of automatic adaptation of the code when the code base on which the code depends is replaced.
  • the third code block belongs to the code.
  • the third code block and the first code block may be located in the same code.
  • the target adaptation mode is stored in the adaptation mode library.
  • the third code block with the same characteristics as the first code block can find the corresponding target adaptation mode in the adaptation pattern library, and then complete the automatic adaptation of the code, so that the third code block can be converted into an adaptation mode. Configure the code block of the second code base.
  • Embodiments of the present application provide a code conversion method, which can use manual modification to accumulate adaptation patterns and improve the degree of automatic adaptation of the code when the code base on which the code depends is replaced.
  • the first code library and the second code library both belong to one dependent library; or, the first code library and the second code library Both belong to two-party dependent libraries; or, the first code library and the second code library both belong to three-party dependent libraries.
  • the one-party dependent library, the second-party dependent library, and the third-party dependent library can also be called one-party library, second-party library, and third-party library, or they can also be called one-party package, second-party package, and third-party package.
  • one party's dependent library refers to this project or the classes, methods, interfaces, etc. in this project.
  • Second-party dependency libraries refer to the company's internal dependency libraries, generally referring to code packages released by the company's internal projects.
  • Third-party dependent libraries refer to open source libraries outside the company.
  • Embodiments of the present application provide a code conversion method that can use manual modification to accumulate adaptation patterns when replacing code libraries of the same category that the code depends on, thereby improving the degree of automated adaptation and accuracy of the code.
  • the second code block for obtaining user input includes: there is no target adaptation corresponding to the first code block in the adaptation mode library. mode, obtain the second code block input by the user.
  • the method provided by the embodiment of the present application first searches for the target adaptation pattern corresponding to the first code block in the adaptation pattern library. If there is no first adaptation pattern in the adaptation pattern library, When the target adaptation mode corresponding to the code block is obtained, the second code block input by the user is obtained.
  • Embodiments of the present application provide a code conversion method, which can use manual modification to accumulate adaptation patterns and improve the degree of automatic adaptation of the code when the code base on which the code depends is replaced.
  • the method further includes: if the target adaptation pattern corresponding to the first code block exists in the adaptation pattern library, based on the The target adaptation mode generates the second code block or the fifth code block, which is used to adapt the first code block in the code to the second code library .
  • the second code block and the first first code block input by the user will Determine the target adaptation mode.
  • the target adaptation mode corresponding to the first code block already exists in the adaptation mode library. This target adaptation mode can be directly used to convert the second first code block into an adaptation mode for the first code block.
  • the code block of the second code base may be a second code block or a fifth code block that is similar to the second code block and adapted to the second code base.
  • Embodiments of the present application provide a code conversion method, which can use manual modification to accumulate adaptation patterns and improve the degree of automatic adaptation of the code when the code base on which the code depends is replaced.
  • the method before obtaining the second code block input by the user, the method further includes: learning to obtain K adaptation operations based on the adaptation operations of the N code blocks.
  • the adaptation pattern library can be enriched before obtaining the second code block input by the user.
  • the adaptation pattern database can also be continuously enriched through the history of code modifications by users.
  • a first set of code blocks and a second set of code blocks may be obtained.
  • the first set of code blocks includes N code blocks that are not adapted to the second code base.
  • the second set of code blocks includes N code blocks that are adapted to the second code base.
  • M code blocks, the N code blocks correspond to the M code blocks one-to-one, and each code block in the second code block set is obtained by modifying the corresponding code block in the first code block set.
  • M N.
  • Adaptation operations of N code blocks may be determined according to the first code block set and the second code block set.
  • the n-th code block among the N code blocks corresponds to one of the K adaptation modes
  • the adaptation mode corresponding to the n-th code block can convert the n-th code block to the n-th code block.
  • Code blocks with the same characteristics of the code blocks are converted into code blocks adapted to the second code base, that is, the k-th adaptation mode among the K adaptation modes is used to adapt the code blocks applicable to the k-th adaptation mode. With the second code base.
  • the embodiment of the present application provides a code conversion method, which can first obtain the adaptation operations of some code blocks to enrich the adaptation pattern library.
  • the code conversion method can be based on the adaptation pattern in the adaptation pattern library. Code blocks in the code base that are not suitable for replacement are automatically converted, reducing manual modifications and improving the degree of automatic adaptation of the code.
  • learning K adaptation modes based on the adaptation operations of the N code blocks includes: based on the adaptation operations of the N code blocks, Constructing N operation trees, the nth operation tree among the N operation trees includes the operation of adapting the nth code block to the second code base; according to the N operation trees, determine K Operation tree groups, each of the K operation tree groups includes multiple operation trees with the same characteristics; the K adaptation modes are determined according to the K operation tree groups.
  • the codes in the first set of code blocks and the second set of code blocks may first be parsed into an abstract syntax tree ( abstract syntax tree, AST), and then build N operation trees based on the AST before and after modification.
  • the nth operation tree among the N operation trees includes modifying the nth code block to the corresponding code in the M code blocks. Block operations.
  • N operation trees can be clustered, or K operation tree groups can be determined based on statistical methods.
  • each of the K operation tree groups may include one or more operation trees, multiple operation trees belonging to the same operation tree group have the same characteristics, and operation trees belonging to different operation tree groups have different characteristics.
  • the method for determining the K adaptation modes includes an inverse algorithm, a machine learning method, a statistics-based method, etc.
  • the operation tree group contains only one operation tree, the operation tree is the adaptation mode corresponding to the operation tree group.
  • the embodiment of the present application provides a code conversion method that can construct an operation tree based on the adaptation operation of the code block, and extract the corresponding adaptation mode according to the operation tree group.
  • code conversion method can construct an operation tree based on the adaptation operation of the code block, and extract the corresponding adaptation mode according to the operation tree group.
  • determining K operation tree groups based on the N operation trees includes: determining P operation subtrees based on the N operation trees, The P operation subtrees are used to adapt the subcode blocks of the N code blocks to the second code library, and P is an integer greater than or equal to N; according to the P operation subtrees, the K is determined operation tree group.
  • the embodiment of the present application can split P operation trees into operation subtrees that describe complete independent changes, and each operation subtree includes operation nodes and useful nodes.
  • P n operation subtrees can be determined through the nth operation tree among the N operation trees, where the P n operation subtrees correspond one-to-one to the P n subcode blocks included in the nth code block.
  • P n is a positive integer greater than or equal to 1.
  • the embodiment of the present application provides a code conversion method that can construct an operation tree based on the adaptation operation of the code block, split the operation tree, and then extract the corresponding adaptation mode according to the operation subtree group, and then extract the corresponding adaptation mode according to the code dependency
  • manual modification can be used to support the accumulation and evolution of the adaptation model, and improve the degree of automatic adaptation and accuracy of the code.
  • determining the K operation tree groups according to the P operation subtrees includes: deleting useless nodes in the P operation subtrees.
  • the useless nodes include nodes whose deletion does not affect the adaptation of the corresponding sub-code blocks in the N code blocks to the second code library; for the P operators after deleting the useless nodes
  • the trees are clustered to obtain the K operation tree groups.
  • Useful nodes include a first type of useful node and a second type of useful node.
  • the first type of useful node is a node to which a modification operation is applied
  • the second type of useful node is the parent node of the first type of useful node.
  • the useful nodes may also include at least one type of useful nodes among the third type of useful nodes, the fourth type of useful nodes and the fifth type of useful nodes, where the third type of useful nodes includes an intermediate node used to connect two useful nodes.
  • the fourth type of useful nodes include child nodes whose parent nodes are useful nodes and must be connected to the parent node to meet the code syntax requirements.
  • the fifth type of useful nodes are those that have the same relationship with the first type of useful nodes or the second type of useful nodes. A node with the same identifier as the useful node.
  • the embodiment of the present application provides a code conversion method that can construct an operation tree based on the adaptation operation of the code block, split and simplify the operation tree, and then extract the corresponding adaptation mode according to the operation subtree group.
  • manual modification can be used to support the accumulation and evolution of the adaptation model, and improve the degree of automated adaptation and accuracy of the code.
  • determining the K adaptation modes according to the K operation tree groups includes: determining each operation in the K operation tree groups The code template corresponding to the tree group and the code conversion operation.
  • the code template includes replaceable characteristics and the same characteristics of the operation tree in the corresponding operation array.
  • the code conversion operation is used to convert the code template with the same characteristics as the code template of the corresponding operation tree group. Convert the code block into a code block that adapts to the second code library; determine the K operation tree groups according to the code template corresponding to each operation tree group and the code conversion operation. Adaptation mode.
  • the i-th code template corresponding to the i-th operation tree group among the K operation tree groups includes replaceable features and the same features of the operation trees in the i-th operation tree group, and the i-th
  • the embodiment of the present application provides a code conversion method that can construct an operation tree based on the adaptation operation of the code block, and extract the corresponding adaptation mode according to the operation tree group.
  • code conversion method can construct an operation tree based on the adaptation operation of the code block, and extract the corresponding adaptation mode according to the operation tree group.
  • embodiments of the present application provide a computer device, which includes a unit for implementing the first aspect or any possible implementation of the first aspect.
  • inventions of the present application provide a computer device.
  • the computer device includes a processor, the processor being coupled to a memory, reading and executing instructions and/or program codes in the memory to execute the first aspect or Any possible implementation of the first aspect.
  • inventions of the present application provide a chip system.
  • the chip system includes a logic circuit that is coupled to an input/output interface and transmits data through the input/output interface to perform the first aspect or the first aspect. any possible implementation.
  • embodiments of the present application provide a computer-readable storage medium that stores program code.
  • the computer storage medium When the computer storage medium is run on a computer, it causes the computer to execute the first aspect or the first aspect. any possible implementation.
  • inventions of the present application provide a computer program product.
  • the computer program product includes: computer program code.
  • the computer program code When the computer program code is run on a computer, it causes the computer to execute the first aspect or any of the first aspects.
  • Figure 1 is a schematic diagram of an application scenario of a code conversion device provided by an embodiment of the present application.
  • Figure 2 is a schematic diagram of a project file directory tree provided by an embodiment of the present application.
  • Figure 3 is a schematic diagram of a code conversion device provided by an embodiment of the present application.
  • Figure 4 is a schematic diagram of an application scenario of another code conversion device provided by an embodiment of the present application.
  • Figure 5 is a schematic structural diagram of a code conversion device provided by an embodiment of the present application.
  • Figure 6 is a schematic diagram of an adaptation pattern mining principle provided by an embodiment of the present application.
  • Figure 7 is a schematic diagram of an adaptation mode browsing provided by an embodiment of the present application.
  • Figure 8 is an exemplary flow chart of adaptation pattern mining provided by the embodiment of the present application.
  • Figure 9 is a schematic diagram of building an operation tree provided by an embodiment of the present application.
  • Figure 10 is a schematic diagram of another construction operation tree provided by an embodiment of the present application.
  • Figure 11 is a schematic diagram of another construction operation tree provided by an embodiment of the present application.
  • Figure 12 is a schematic diagram of an adaptation mode provided by an embodiment of the present application.
  • Figure 13 is a schematic diagram of an application scenario of another code conversion device provided by an embodiment of the present application.
  • FIG. 14 is an example structural diagram of a computer device provided by an embodiment of the present application.
  • Figure 15 is a structural example diagram of another computer device provided by an embodiment of the present application.
  • Figure 16 is an example diagram of a computer program product provided by an embodiment of the present application.
  • the code base can be a one-party dependent library, a second-party dependent library or a third-party dependent library.
  • One-party dependent libraries, two-party dependent libraries, and three-party dependent libraries can also be called one-party libraries, two-party libraries, and three-party libraries, or they can also be called one-party packages, two-party packages, and three-party packages.
  • One-party library refers to the classes, methods, interfaces, etc. in this project or this project.
  • Second-party libraries refer to the company's internal dependent libraries, generally referring to the code packages released by the company's internal projects.
  • Third-party libraries refer to open source libraries outside the company.
  • the code base introduced by the code may have various risks. For example, there are high-risk vulnerabilities in some open source third-party library versions, and the licenses of some open source third-party libraries have restrictions on commercial use. These risks may lead to serious security issues.
  • Figure 1 is a schematic diagram of an application scenario of a code conversion device provided by an embodiment of the present application. It mainly includes user-side operations and server-side operations.
  • the user selects a project.
  • Figure 2 is a schematic diagram of a project file directory tree provided by an embodiment of the present application. Users can analyze project files by selecting them. For example, the user can click the box in front of the pluginTest project file to choose to analyze the pluginTest file project.
  • a designated risk identification and repair device can be used to analyze the code library that the project file depends on, or the function of the risk identification and repair device can be built into the code conversion device 100 of the present application, and the code conversion device 100 can be used to The code base that the project file depends on is analyzed, and this application does not limit this. By analyzing the code base that the project file depends on, you can determine the type and version of the code base that the project file depends on. It should be understood that project files can depend on one or more code libraries.
  • the code conversion device 100 may be a software/functional module in a computer that performs operations such as converting code blocks.
  • the software/functional module used to implement the code conversion operation is referred to as "code” in the embodiments of this application.
  • "Conversion device” this name should not be understood as a limitation on this application.
  • the code conversion device 100 can obtain a repair solution for the project file based on the repair suggestions in the repair suggestion database 101 .
  • fixes can include upgrading or changing the code base. For example, you can upgrade version 1.0 of codebase A to version 2.0 of codebase A, or change codebase A to codebase B.
  • the user can manually select a repair plan for the code base, or the server can automatically select a default repair plan, which is not limited in this application.
  • the fix is to change codebase A to codebase B.
  • the code conversion device 100 will use the adaptation pattern database 190 to perform adaptation pattern matching on the code blocks with running errors in the project file.
  • the code blocks with running errors mean that the code blocks are not suitable for code library B.
  • the adaptation pattern in the adaptation pattern database 190 can be matched according to the code block, or the code block can be matched according to the adaptation pattern in the adaptation pattern database 190 .
  • the code conversion device 100 will perform a conversion operation on the code block according to the matched adaptation mode, so that the code block adapts to the code library B.
  • the code conversion device 100 can record each time the user runs the wrong code and the code that runs successfully. For example, if a code block B1 is compiled successfully after 5 modifications by the user, the code conversion device 100 can record the 4 code blocks with errors in compilation and the 5th code block with successful compilation corresponding to the code block B1, and then based on these 5 code blocks update the adaptation pattern database 190.
  • Figure 3 is a schematic diagram of a code conversion device provided by an embodiment of the present application.
  • the code conversion device 100 cannot automatically convert the code block B1 into a code that is adapted to the code base B, the user can modify the code block B1 Change manually.
  • the code conversion device 100 can automatically record the code block B1 and the code block B2 and perform the adaptation pattern mining in step 230 .
  • the user can also manually choose whether to perform adaptation pattern mining on code block B1 and code block B2.
  • the code conversion device 100 can mine adaptation patterns based on the code blocks before and after modification. For example, the code conversion device 100 can mine the adaptation patterns when version 1.0 of code base A is upgraded to version 2.0, or it can mine changes to code base A. Adaptation mode for code base B. It should be understood that since the mining work is performed on the server side, the user is unaware of the entire mining process. For successfully mined adaptation patterns, the code conversion device 100 may store them in different adaptation pattern databases. For example, for the adaptation patterns mined in the code base upgrade scenario, the code conversion device 100 can store the mined adaptation patterns in the code base upgrade adaptation pattern database 215 . For the adaptation patterns mined in the code base change scenario, the code conversion device 100 can store the mined adaptation patterns in the code base change adaptation pattern database 225 . Optionally, the code conversion device 100 may also store successfully mined adaptation patterns into an adaptation pattern database. For example, the code base upgrade adaptation mode database 215 and the code base change adaptation mode database 225 can be placed in one database, which is not limited in this application.
  • the updated adaptation mode database can be used to adapt the code to achieve the same purpose as manual modification.
  • the adaptation mode database mentioned in the embodiment of this application may be the code base upgrade adaptation mode database 215, the code base change adaptation mode database 225, or a combination of the two.
  • Figure 4 is a schematic diagram of an application scenario of another code conversion device provided by an embodiment of the present application.
  • Computer device A modifies the code library that the code depends on.
  • Computer equipment A modified the code base on which the code depends, either automatically or manually. For example, computer device A determines the project organization identification (Group ID), project name (Artifact ID), or project name of the project object model (Pom) in the project file or the dependent code library in Gradle and other dependency files. The version number (Version) and other information are modified, for example, version 1.0 of code base A is upgraded to version 2.0.
  • Computer device A performs code adaptation.
  • the code conversion device 100 will use the adaptation mode local database 301 to adapt the code blocks with compilation errors in the project file, and convert the code blocks with compilation errors into code blocks that adapt to the replaced code library.
  • the code conversion device 100 can also use the adaptation mode remote database 305 to adapt the compiled code in the project file, or use the adaptation mode local database 301 and the adaptation mode remote database 305 to adapt the code compiled in the project file at the same time.
  • the error code is adapted, and this application does not limit this.
  • the adaptation mode local database 301 is sufficient to support code conversion of the project files to adapt to the replaced code base, and the adapted code 303 can be obtained at this time.
  • the code conversion device 100 in the computer device A can mine the adaptation pattern based on the code block with errors in compilation and the code block that was finally compiled successfully, including updating the corresponding adaptation pattern in the adaptation pattern database or determining a new adaptation pattern.
  • the code conversion device 100 can automatically update the adaptation mode local database 301 and/or the adaptation mode remote database 305 according to the code blocks before and after modification, or it can also manually select whether to update the adaptation mode local database 301 and/or the adaptation mode.
  • Configuration mode remote database 305 is updated.
  • computer device A chooses to store the successfully mined adaptation pattern into the adaptation pattern local database 301, if the same scenario is encountered in subsequent projects, for example, the 1.0 version of the code base A that the project file depends on can be directly upgraded to version 2.0.
  • Computer device A can also choose to upload the successfully mined adaptation mode to the adaptation mode remote database 305, so that other computer devices can pull the required adaptation mode to the local adaptation mode database, and can directly access it when encountering corresponding scenarios.
  • Computer device B modifies the code library that the code depends on.
  • computer device B modifies the code base that the code depends on through automatic or manual means. For example, upgrade version 1.0 of code base A to version 2.0.
  • Computer device B performs code adaptation.
  • the code conversion device 100 in the computer device B can use the adaptation mode local database to adapt the code with compilation errors in the project file, and convert the codes with compilation errors into adapted codes 303 .
  • the code conversion device 100 can also pull the required adaptation mode in the adaptation mode remote database 305 to the adaptation mode local database of computer device B, and then use the updated adaptation mode local database to modify the project file. Adapt the code with compilation errors.
  • Figure 5 is a schematic structural diagram of a code conversion device provided by an embodiment of the present application.
  • the code conversion device can realize the adaptation pattern mining function, the adaptation pattern browsing function and the adaptation pattern application function.
  • the adaptation mode mining function can be realized by the adaptation mode mining module 410 in the code conversion device
  • the adaptation mode browsing function can be realized by the adaptation mode browsing module 420 in the code conversion device
  • the adaptation mode application function can be realized by the code conversion device.
  • the adaptation mode application module 430 is implemented in the conversion device.
  • the adaptation pattern mining module 410 can automatically mine adaptation patterns without the user being aware of it. When the user upgrades the code base on which the project file depends or changes the code base, the adaptation pattern mining module 410 can automatically monitor the mining timing, confirm the mining target, and then mine the adaptation pattern, and prompt the user for subsequent operations.
  • Figure 6 is a schematic diagram of an adaptation pattern mining principle provided by an embodiment of the present application.
  • the adaptation mode mining module 410 can monitor the compilation status of the user's project file. If the code change of the project file causes the compilation to fail, the adaptation mode mining module 410 will be triggered to track and record the code status. When the code of the project file is successfully compiled, The adaptation pattern mining module 410 will automatically perform mining.
  • the code base that the project file depends on is changed from A to B, an error occurs in the compilation of the project file, and the user manually modifies the code block with the compilation error.
  • the adaptation pattern mining module 410 can track and record the codes manually modified by the user, automatically mine the adaptation patterns, and then store the mined adaptation patterns in the adaptation pattern database 400 .
  • the adaptation mode database 400 may include one or more different types of databases. For example, it may include the code base upgrade adaptation mode database 215 or the code base change adaptation mode database 225.
  • the adaptation mode browsing module 420 may be used to view the adaptation modes saved in the adaptation mode database 400 .
  • Figure 7 is a schematic diagram of an adaptation mode browsing provided by an embodiment of the present application.
  • the user can use the adaptation mode browsing module 420 to preview the code before and after conversion, and then select the corresponding adaptation mode database for automatic code conversion. For example, the user can first preview the code before and after the transformation using the code base to upgrade the adaptation mode database 215 and the code before and after the transformation using the code base to change the adaptation mode database 225, and then select the code base to upgrade the adaptation mode database 215 or the code base to change Adaptation schema database 225 is used to automatically adapt the code.
  • the adaptation mode application module 430 can perform code conversion on the project files selected by the user. For example, as shown in Figure 2, the user can select which project files to perform code conversion. For example, users can click on the box in front of the GuavaTest.java file to choose to transcode the GuavaTest.java file.
  • the adaptation mode application module 430 will analyze the code in the project file to apply the adaptation mode code blocks and then automatically complete the code conversion according to the adaptation mode database 400 .
  • Figure 8 is an exemplary flow chart of adaptation pattern mining provided by the embodiment of the present application.
  • the code conversion device 100 may first parse the code before modification by the user and the code after modification into an abstract syntax tree.
  • Figure 9 is a schematic diagram of building an operation tree provided by an embodiment of the present application.
  • Figure 9(a) and Figure 9(b) are schematic diagrams of an abstract syntax tree provided by the embodiment of the present application.
  • (a) in Figure 9 is the AST of the code before modification
  • (b) in Figure 9 is the AST of the code after modification.
  • the letters or numbers in the node can represent a code statement, a code block, an identifier or a parameter, etc.
  • Figure 9(c) is a schematic diagram of an operation tree provided by an embodiment of the present application.
  • the code conversion device 100 can construct an operation tree based on the two ASTs before and after the code modification and by analyzing the differences between the two. As shown in Figure 9 (a) and Figure 9 (b), the difference between the two ASTs is that after the code modification, the child node C of A is replaced with branch 1-2-B-G. The code conversion device 100 will store the child node C and the branch 1-2-B-G as a change pair to generate an operation node. As shown in the operation tree shown in (c) of Figure 9, the Ref of the operation node indicates the reference node in the change pair, that is, the node to which the code modification operation is applied. In the embodiment of the present application, the reference node of the operation tree is node C.
  • the Rep of the operation node indicates the replacement branch node in the change pair, that is, the branch node that replaces the reference node after the code modification.
  • the replacement node of the operation tree is node 1-2-B-G.
  • the modification operation indicated by the operation node in (c) of FIG. 9 is to replace the entire subtree with the node indicated by Rep as the root node with the entire tree with the node indicated by Ref as the root node. For example, if node C has multiple child nodes, node C and the multiple child nodes will be replaced with branch 1-2-B-G.
  • Figure 10 is a schematic diagram of another construction operation tree provided by an embodiment of the present application.
  • Figure 10(a) and Figure 10(b) are schematic diagrams of another abstract syntax tree provided by an embodiment of the present application.
  • (a) in Figure 10 is the AST of the code before modification
  • (b) in Figure 10 is the AST of the code after modification.
  • the letters or numbers in the node can represent a code statement, a code block, an identifier or a parameter, etc.
  • Figure 10(c) is a schematic diagram of another operation tree provided by the embodiment of the present application.
  • the code conversion device 100 can construct an operation tree based on the two ASTs before and after the code modification and by analyzing the differences between the two.
  • the difference between the two ASTs is that after the code modification, branches 1-2-B-G are added after the child node C of A.
  • the code conversion device 100 will store the child node C and the branch 1-2-B-G as a change pair to generate an operation node.
  • the Ref of the operation node indicates the reference node in the change pair, that is, the node to which the code modification operation is applied.
  • the reference node of the operation tree is node C.
  • the Acc of the operation node indicates the branch node added in the change pair, that is, the branch node added after the reference node C after the code modification.
  • the added branch node of the operation tree is 1-2-B-G, that is, the code modification
  • the modification operation indicated by the operation node in (c) of Figure 9 is to add the entire subtree with the node indicated by Acc as the root node to the entire subtree with the node indicated by Ref as the root node. For example, if node C has multiple child nodes, branch node 1-2-B-G will be added after node C and the multiple child nodes.
  • Figure 11 is a schematic diagram of another construction operation tree provided by an embodiment of the present application.
  • Figure 11 (a) and Figure 11 (b) are schematic diagrams of another abstract syntax tree provided by an embodiment of the present application.
  • (a) in Figure 11 is the AST of the code before modification
  • (b) in Figure 11 is the AST of the code after modification.
  • the letters or numbers in the node can represent a code statement, a code block, an identifier or a parameter, etc.
  • Figure 11(c) is a schematic diagram of another operation tree provided by the embodiment of the present application.
  • the code conversion device 100 can construct an operation tree based on the two ASTs before and after the code modification and by analyzing the differences between the two.
  • the difference between the two ASTs shown in Figure 11 (a) and Figure 11 (b) is that the child node C of A is deleted after the code is modified.
  • the Ref of the operation node indicates the reference node in the change pair, that is, the node to which the code modification operation is applied.
  • the reference node of the operation tree is node C.
  • Del of the operation node indicates the deleted branch node, that is, the branch node that is deleted after the code is modified.
  • the deleted node of the operation tree is node C, that is, the code statement represented by the reference node C is deleted after the code is modified.
  • modification operation indicated by the operation node (c) in Figure 11 is to delete the entire subtree with the node indicated by Del as the root node. For example, if node C has multiple child nodes, node C and the multiple child nodes will be deleted.
  • the code conversion device 100 can split the operation tree into operation subtrees that describe complete independent changes. Describing complete independent changes means that these operation subtrees must be as small as possible but have complete functions. This can ensure that the nodes in each subtree are With context, the context of a node refers to the parent node or sibling node of the node. When reflected in the actual code, it is the method where the code statement represented by the node is located, the code statements before and after, etc.
  • the code conversion device 100 may use a traversal method to extract the operation subtree.
  • the traversal method includes pre-order traversal, in-order traversal, post-order traversal, level-order traversal, etc.
  • Each operation subtree in the operation subtree includes operation nodes and useful nodes.
  • the operation nodes shown in Figure 9, Figure 10 and Figure 11 are used to indicate conversion operations before and after code modification.
  • Useful nodes include the first type of useful nodes and the second type of useful nodes.
  • the first type of useful nodes are nodes where modification operations are applied.
  • the second node is the parent node of the first type of useful node.
  • Node C and node A are shown in Figure 9, where node C is the reference node to which the modification operation is applied, and node A is the parent node of reference node C.
  • the useful nodes may also include at least one type of useful nodes among the third type of useful nodes, the fourth type of useful nodes and the fifth type of useful nodes.
  • the third type of useful nodes includes intermediate nodes used to connect two useful nodes. For example, if node A and node G in Figure 9 are both useful nodes, then node B is also a useful node.
  • the fourth type of useful nodes are mandatory child nodes.
  • Mandatory child nodes refer to child nodes that must be connected with their useful parent nodes to be meaningful.
  • the parameters of some functions are mandatory child nodes, and the parameters will be lost if they leave the corresponding method. Meaning, for example, if node A in Figure 9 represents a function and node Y is a parameter of the function, then node Y is a mandatory child node.
  • the fifth type of useful node is a node having the same identifier as the first type of useful node or the second type of useful node. It should be understood that identifiers are names used by users when programming. They are used to name variables, constants, functions, statement blocks, etc., to establish a relationship between names and uses. Identifiers are usually composed of letters, numbers, and other characters.
  • the node is a useless node.
  • the code conversion device 100 minimizing the operation subtree includes clearing nodes in the operation subtree that are not related to changes, that is, deleting useless nodes in the operation subtree. For example, if the nodes E and F in Figure 9 are useless nodes, then the code The conversion device 100 can delete it. It should be understood that the node pointing to the operation node is the root node of the minimization operation subtree, such as node A in Figure 10. It can also be said that node A owns the operation node.
  • the transcoding apparatus 100 may use a clustering method to place the minimized operation subtrees into the same or similar operation subtree groups.
  • Clustering methods may include partition-based methods, hierarchy-based methods, density-based methods, grid-based methods, and model-based methods.
  • Figure 12 is a schematic diagram of an adaptation mode provided by an embodiment of the present application.
  • the adaptation mode includes a general code template and a code conversion operation, as shown in Figure 12 (b) in adaptation mode 1.
  • A-X-Y-#-C is the code template of adaptation mode 1, which converts node C indicated by Ref.
  • Rep branch 1-2-# is the code conversion operation of adaptation mode 1.
  • the code conversion device 100 can generalize the minimization operation subtree in each minimization operation subtree group to obtain an adaptation mode corresponding to each minimization operation subtree group.
  • generalization processing methods include using anti-unification algorithms, machine learning methods, or statistics-based methods.
  • the anti-unified algorithm can be used to determine an adaptation mode of two minimization operation subtrees. Assuming that there are N minimization operation subtrees in a minimization operation subtree group, the code conversion device 100 can apply the anti-union algorithm to the first minimization operation subtree and the second minimization operation subtree to obtain these two The first adaptation mode corresponding to the minimization operation subtree, and then apply the inverse one algorithm to the first adaptation mode and the third minimization operation subtree to obtain the second adaptation mode, and so on, Finally, the inverse unity algorithm is applied to the N-2th adaptation mode and the Nth minimization operation subtree, and finally the adaptation mode corresponding to this minimization operation subtree group is obtained.
  • FIG. 12 For example, (a) in Figure 12 is a minimization operation subtree in the first minimization operation subtree group, and (b) in Figure 12 is the adaptation mode 1 corresponding to the first minimization operation subtree group.
  • Figure 12(c) is a minimization operation subtree in the second minimization operation subtree group, and Figure 12(d) is the adaptation mode 2 corresponding to the second minimization operation subtree group.
  • Unique nodes refer to nodes used to distinguish different adaptation modes. For example, nodes X and Y correspond to adaptation mode 1, and nodes W and 3 correspond to adaptation mode 2, that is, one adaptation mode includes node X. If nodes W and 3 are included in an adaptation mode, the adaptation mode is considered to be adaptation mode 1.
  • an adaptation mode includes nodes W and 3, the adaptation mode is considered to be adaptation mode 2.
  • Common nodes refer to nodes in the structure common to all minimization operation subtrees in the same minimization operation subtree group. It should be understood that unique nodes are also common nodes.
  • Replaceable nodes refer to different nodes on the same branch of the minimization subtree in the same minimization subtree group.
  • the operation subtree minimization process contains the context of nodes, and these contexts can be continuously reused in multiple nodes. But in some cases, this context doesn't convey a valid message.
  • the context of the first method D is C
  • the actual call of method D in the code is A.B.C.D.
  • the context of the second method D is also C, but the actual call of method D in the code is E.F.C.D. Therefore, patterns that are originally applicable to specific scenarios will be arranged in more general scenarios, which will lead to a large amount of invalid analysis.
  • Embodiments of the present application can use static analysis tools to infer the complete information of the node context and the complete types of variables, thereby matching specific scenarios with specific adaptation modes.
  • Figure 13 is a schematic diagram of an application scenario of another code conversion device provided by an embodiment of the present application.
  • API call point 1 matches adaptation mode 1.
  • the code conversion device 100 When user A upgrades or changes the code library that the project file depends on, the code conversion device 100 will try to extract a matching adaptation pattern from the adaptation pattern database 600 for each API call point that needs adaptation. If there is a corresponding adaptation mode, for example, API call point 1 matches adaptation mode 1, the API call point 1 will be code converted according to adaptation mode 1 to adapt it to the changed code base.
  • the adaptation mode database 600 can also be continuously enriched through historical records of manual code modifications by users.
  • the code conversion device 100 can obtain the code manually modified by user A to the call point 2, and then according to the code before and after the modification of the API call point 2 by user A.
  • the code performs adaptation pattern mining and stores the mined adaptation patterns into the adaptation pattern database 600 .
  • API call point 3 matches adaptation mode 2.
  • adaptation mode database 600 After the adaptation mode database 600 is updated, when user A's project encounters the same call point as API call point 2, such as API call point 3, the newly added call point can be directly matched from the adaptation mode database 600. Adapt mode 2 and apply to API call point 3.
  • API call point 4 matches adaptation mode 2.
  • API call point 4 is similar to API call point 2
  • the code conversion device 100 will match the adaptation pattern 2 from the adaptation pattern database 600 , and apply it to API call point 4.
  • the code conversion device 100 can obtain the code manually modified by user B on the call point 4, and then according to the code before and after the modification of the API call point 4 by user B The code performs adaptation pattern mining and stores the mined adaptation patterns into the adaptation pattern database 600 .
  • Embodiments of the present application also provide a computer storage medium, which stores program instructions.
  • the program When the program is executed, it may include the code conversion method in the corresponding embodiments as shown in Figures 1, 3, 4, 8-13. Some or all of the steps.
  • FIG. 14 is an example structural diagram of a computer device 1000 provided by an embodiment of the present application.
  • the computer device 1000 includes an acquisition module 1010 and a processing module 1020.
  • the acquisition module 1010 is used to obtain the modified code input by the user, and execute 160 in the method of Figure 1, 230 in the method of Figure 3, 350 in the method of Figure 4, and 620 and 650 in the method of Figure 13.
  • the processing module 1020 is used to obtain the probability of the vehicle in each lane according to the vehicle's speed information and the vehicle's lane-changing behavior probability, and execute the method of Figure 4, the method of Figure 5, the method of Figure 6, the method of Figure 7, and the method of Figure 9 Some or all of the steps in a method.
  • Figure 15 is a structural example diagram of another computer device 1300 provided by an embodiment of the present application.
  • Computer device 1300 includes a processor 1302, a communication interface 1303, and memory 1304.
  • One example of computer device 1300 is a chip.
  • Another example of computer device 1300 is a computing device.
  • the methods disclosed in the above embodiments of the present application can be applied to the processor 1302 or implemented by the processor 1302.
  • the processor 1302 can be a central processing unit (CPU), or other general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), or an on-site processor.
  • a general-purpose processor can be a microprocessor or any conventional processor, etc.
  • each step of the above method can be completed by instructions in the form of hardware integrated logic circuits or software in the processor 1302 .
  • Each method, step and logical block diagram disclosed in the embodiment of this application can be implemented or executed.
  • a general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc.
  • the steps of the method disclosed in conjunction with the embodiments of the present application can be directly implemented by a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor.
  • Memory 1304 may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory.
  • non-volatile memory can be read-only memory (ROM), programmable ROM (PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically removable memory. Erase electrically programmable read-only memory (EPROM, EEPROM) or flash memory.
  • Volatile memory can be random access memory (RAM), which is used as an external cache.
  • RAM static random access memory
  • DRAM dynamic random access memory
  • SDRAM synchronous dynamic random access memory
  • double data rate SDRAM double data rate SDRAM
  • DDR SDRAM double data rate SDRAM
  • ESDRAM enhanced synchronous dynamic random access memory
  • SLDRAM synchronous link dynamic random access memory
  • direct rambus RAM direct rambus RAM
  • the processor 1302, the memory 1304 and the communication interface 1303 can communicate through a bus.
  • Executable code is stored in the memory 1304, and the processor 1302 reads the executable code in the memory 1304 to execute the corresponding method.
  • the memory 1304 may also include an operating system and other software modules required for running processes.
  • the operating system can be LINUX TM , UNIX TM , WINDOWS TM , etc.
  • the executable code in the memory 1304 is used to implement the methods shown in Figures 1, 3, 4, and 8-13, and the processor 1302 reads the executable code in the memory 1304 to execute Figures 1, 3, 4, and 8 -The method shown in 13.
  • example computer program product 1400 is provided using signal bearing medium 1401.
  • the signal bearing medium 1401 may include one or more program instructions 1402 that when executed by one or more processors may provide the functionality described above with respect to the methods illustrated in Figures 1, 3, 4, 8-13 or Some functions.
  • FIGS. 1, 3, 4, 8-13 one or more features thereof may be performed by one or more instructions associated with signal bearing medium 1401.
  • signal bearing media 1401 may include computer readable media 1403 such as, but not limited to, a hard drive, a compact disk (CD), a digital video disc (DVD), a digital tape, memory, read only memory (read-only storage memory), -only memory, ROM) or random access memory (random access memory, RAM), etc.
  • signal bearing media 1401 may include computer recordable media 1404 such as, but not limited to, memory, read/write (R/W) CDs, R/W DVDs, and the like.
  • signal bearing medium 1401 may include communication media 1405 such as, but not limited to, digital and/or analog communication media (eg, fiber optic cables, waveguides, wired communication links, wireless communication links, etc.).
  • signal bearing medium 1401 may be conveyed by a wireless form of communication medium 1405 (eg, a wireless communication medium that complies with the IEEE 802.11 standard or other transmission protocol).
  • One or more program instructions 1402 may be, for example, computer-executable instructions or logic-implemented instructions.
  • the aforementioned computing device may be configured to, in response to program instructions 1402 communicated to the computing device via one or more of computer-readable media 1403, computer-recordable media 1404, and/or communication media 1405, Provide various operations, functions, or actions. It should be understood that the arrangements described here are for example purposes only.
  • the disclosed systems, devices and methods can be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or can be integrated into another system, or some features can be ignored, or not implemented.
  • the coupling or direct coupling or communication connection between each other shown or discussed may be through some interfaces, and the indirect coupling or communication connection of the devices or units may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or they may be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each functional unit in each embodiment of the present application can be integrated into one processing unit, each unit can exist physically alone, or two or more units can be integrated into one unit.
  • the functions are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium.
  • the technical solution of the present application is essentially or the part that contributes to the existing technology or the part of the technical solution can be embodied in the form of a software product.
  • the computer software product is stored in a storage medium, including Several instructions are used to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of this application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other media that can store program code. .

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Les modes de réalisation de la présente invention concernent un procédé de conversion de code. Le procédé comprend les étapes suivantes : lorsqu'une première bibliothèque de codes, de laquelle dépend un code, est remplacée par une deuxième bibliothèque de codes, acquisition d'un deuxième bloc de code, qui est entré par un utilisateur, le deuxième bloc de code étant utilisé pour adapter un premier bloc de code dans le code à la deuxième bibliothèque de codes ; détermination d'un mode d'adaptation cible du deuxième bloc de code et du premier bloc de code ; et stockage du mode d'adaptation cible dans une bibliothèque de modes d'adaptation, la bibliothèque de modes d'adaptation étant utilisée pour générer un quatrième bloc de code pour un troisième bloc de code qui s'adapte au mode d'adaptation cible, et le quatrième bloc de code étant utilisé pour adapter le troisième bloc de code à la deuxième bibliothèque de codes. Au moyen de la solution technique selon la présente invention, des modes d'adaptation peuvent être accumulés au moyen d'une modification manuelle, améliorant ainsi le degré d'adaptation automatisé d'un code.
PCT/CN2022/136861 2022-04-28 2022-12-06 Procédé et appareil de conversion de code WO2023207103A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RURU2022111733 2022-04-28
RU2022111733 2022-04-28

Publications (1)

Publication Number Publication Date
WO2023207103A1 true WO2023207103A1 (fr) 2023-11-02

Family

ID=88517193

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/136861 WO2023207103A1 (fr) 2022-04-28 2022-12-06 Procédé et appareil de conversion de code

Country Status (1)

Country Link
WO (1) WO2023207103A1 (fr)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160062753A1 (en) * 2013-03-27 2016-03-03 Netfective Technology Sa Method for transforming first code instructions in a first programming language into second code instructions in a second programming language
CN106843857A (zh) * 2016-12-30 2017-06-13 北京五八信息技术有限公司 基于srp实现代码库转换sdk的方法和装置
CN110633084A (zh) * 2019-09-12 2019-12-31 北京大学 基于单个样例的代码转换推导方法和装置
CN111930411A (zh) * 2020-09-30 2020-11-13 腾讯科技(深圳)有限公司 代码升级方法、装置、计算机设备和存储介质
CN113010183A (zh) * 2021-04-30 2021-06-22 中国工商银行股份有限公司 一种代码转换方法及装置
CN114035805A (zh) * 2021-11-16 2022-02-11 北京字节跳动网络技术有限公司 用于预编译器的代码转换方法、装置、介质及设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160062753A1 (en) * 2013-03-27 2016-03-03 Netfective Technology Sa Method for transforming first code instructions in a first programming language into second code instructions in a second programming language
CN106843857A (zh) * 2016-12-30 2017-06-13 北京五八信息技术有限公司 基于srp实现代码库转换sdk的方法和装置
CN110633084A (zh) * 2019-09-12 2019-12-31 北京大学 基于单个样例的代码转换推导方法和装置
CN111930411A (zh) * 2020-09-30 2020-11-13 腾讯科技(深圳)有限公司 代码升级方法、装置、计算机设备和存储介质
CN113010183A (zh) * 2021-04-30 2021-06-22 中国工商银行股份有限公司 一种代码转换方法及装置
CN114035805A (zh) * 2021-11-16 2022-02-11 北京字节跳动网络技术有限公司 用于预编译器的代码转换方法、装置、介质及设备

Similar Documents

Publication Publication Date Title
US8438551B2 (en) Code transformation
US10698682B1 (en) Computerized software development environment with a software database containing atomic expressions
US8392880B2 (en) Rapid application development for database-aware applications
US20230244465A1 (en) Systems and methods for automated retrofitting of customized code objects
US10402173B2 (en) Systems and methods for arbitrary software logic modeling
US20130227533A1 (en) Code transformation
US7490098B2 (en) Apparatus, system, and method for processing hierarchical data in disparate data repositories
US20080046868A1 (en) Method and system for template-based code generation
US20050071359A1 (en) Method for automated database schema evolution
CN111124376B (zh) codeCli脚手架搭建项目系统
US20070083543A1 (en) XML schema template builder
CN112235311B (zh) Ovsdb客户端代码自动生成方法、系统、设备及介质
CN117033418A (zh) 语句重写方法、系统及装置
Zhang et al. Automated extraction of grammar optimization rule configurations for metamodel-grammar co-evolution
AU2012201466B2 (en) Code Transformation
WO2023207103A1 (fr) Procédé et appareil de conversion de code
CN113553064A (zh) 一种web前端代码转换方法
CN110018816B (zh) 一种基于c/c++编译系统的虚拟机控制系统及其控制方法
CN117555925B (zh) 数据库访问代码转换方法、装置及电子设备
Stevens A declarative foundation for comprehensive history querying
CN117555920B (zh) 适用于低代码平台的多数据源适配方法及系统
CN116627390B (zh) 航空软件开发中icd文件的替代方法及装置
EP4336348A1 (fr) Procede iteratif et interactif de conversion de code
CN117608656A (zh) 一种基于ast和llm的混合式前端框架迁移方法
CN114090035A (zh) 应用开发框架更新方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22939917

Country of ref document: EP

Kind code of ref document: A1