CN114780444A - Code optimization method and device, electronic equipment and storage medium - Google Patents

Code optimization method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN114780444A
CN114780444A CN202210732866.6A CN202210732866A CN114780444A CN 114780444 A CN114780444 A CN 114780444A CN 202210732866 A CN202210732866 A CN 202210732866A CN 114780444 A CN114780444 A CN 114780444A
Authority
CN
China
Prior art keywords
code
improved
optimized
segments
optimization
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
CN202210732866.6A
Other languages
Chinese (zh)
Other versions
CN114780444B (en
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.)
Wuxi Yiwen Microelectronics Technology Co ltd
Jiangsu Yiwen Microelectronics Technology Co Ltd
Original Assignee
Jiangsu Yiwen Microelectronics Technology Co Ltd
Advanced Materials Technology and Engineering Inc
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 Jiangsu Yiwen Microelectronics Technology Co Ltd, Advanced Materials Technology and Engineering Inc filed Critical Jiangsu Yiwen Microelectronics Technology Co Ltd
Priority to CN202210732866.6A priority Critical patent/CN114780444B/en
Publication of CN114780444A publication Critical patent/CN114780444A/en
Application granted granted Critical
Publication of CN114780444B publication Critical patent/CN114780444B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3624Software debugging by performing operations on the source code, e.g. via a compiler
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3628Software debugging of optimised code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

The invention provides a code optimization method, a code optimization device, electronic equipment and a storage medium, wherein the method comprises the following steps: performing defect analysis on the target code to obtain a plurality of code segments to be improved with defects in the target code and a code problem type of the code segments to be improved; determining the optimization sequence of a plurality of code segments to be improved based on the global influence degree of the plurality of code segments to be improved in the target code; aiming at a current code segment to be improved, generating a plurality of optimized code segments and a basic score of the optimized code segments based on an optimized plug-in corresponding to the code problem type of the current code segment to be improved; respectively placing the optimized code segments in a target code to perform function test to obtain test scores of the optimized code segments; and determining the optimal optimized code segment based on the basic score and the test score of the optimized code segment, and replacing the current code segment to be improved based on the optimal optimized code segment. The invention can improve the code stability and maintainability of the semiconductor device control software.

Description

Code optimization method and device, electronic equipment and storage medium
Technical Field
The present invention relates to the field of semiconductor technologies, and in particular, to a code optimization method and apparatus, an electronic device, and a storage medium.
Background
The semiconductor device control software needs a great deal of function updating and corresponding debugging work on codes in the development process and the use process. In the development and maintenance process of the semiconductor equipment control software, a plurality of different code producers exist, such as a code development team, a code maintenance team, a semiconductor chip manufacturer and the like, and the different code producers have different knowledge levels and different code writing experiences, so that the stability and maintainability of the produced code cannot be guaranteed. However, in the semiconductor manufacturing process, the performance of the semiconductor device control software should have high stability to ensure that the semiconductor device can operate normally and stably, and the maintenance efficiency should be improved as much as possible to reduce the debugging time of the semiconductor device and avoid affecting the normal process flow. Therefore, a code optimization method capable of improving the code stability and maintainability of the semiconductor device control software is required.
In current existing solutions, there are partially intelligent integrated development tools that can provide some hints to remove redundant code based on the context of the current code. For example, the Intellij IDEA tool may extract redundant code for prompting, and the IntelliCode tool may also find program code of repeated logic, and propose repair suggestions for similar parts in the whole program code library. However, the above method only provides a repair suggestion, still requires a user to have a certain level of experience to correctly select a suitable code repair method, and only provides simple functions such as detecting redundant codes, etc., and cannot ensure that the optimized codes have good stability and maintainability, which is difficult to meet the requirements of the semiconductor field for the stability and maintainability of semiconductor device control software codes.
Disclosure of Invention
The invention provides a code optimization method, a code optimization device, electronic equipment and a storage medium, which are used for solving the defect that a code optimization mode in the prior art is difficult to meet the requirements of the semiconductor field on code stability and maintainability of semiconductor equipment control software.
The invention provides a code optimization method, which comprises the following steps:
acquiring a target code to be optimized; the target code is a code file or a code segment for realizing a plurality of functional logics in the code file;
performing defect analysis on the target code based on preset code evaluation conditions to obtain a plurality of code segments to be improved with defects in the target code and code problem types of the code segments to be improved;
determining an optimization order of the code segments to be improved based on the global influence degree of the code segments to be improved in the target code; the higher the global influence degree of any code section to be improved in the target code is, the more the optimization order of any code section to be improved is;
optimizing each code segment to be improved in sequence based on the optimization sequence of the plurality of code segments to be improved; aiming at a current code segment to be improved, generating a plurality of optimized code segments corresponding to the current code segment to be improved and a basic score of the optimized code segments based on an optimized plug-in corresponding to a code problem type of the current code segment to be improved; respectively placing the optimized code segments in the target code to perform function test to obtain test scores of the optimized code segments; and determining an optimal optimization code segment based on the basic scores and the test scores of the optimization code segments, and replacing the current code segment to be improved based on the optimal optimization code segment.
According to the code optimization method provided by the invention, the global influence degree of the code segments to be improved in the target code is determined based on the number of times the code segments to be improved are referred in the target code; wherein the more times any code segment to be improved is referenced in the target code, the higher the global influence degree of any code segment to be improved is.
According to the code optimization method provided by the invention, the global influence degree of the code segments to be improved in the target code is determined based on the following steps:
performing simulation compilation on the object code in a test environment, and acquiring a function call graph of the object code in the process of simulation compilation;
determining the number of times the number of code segments to be improved are referred in the target code based on a function call graph of the target code;
determining a global degree of influence of the number of code sections to be improved based on the number of times the number of code sections to be improved are referenced in the target code.
According to the code optimization method provided by the invention, when a plurality of code problem types exist in the current code segment to be improved, the optimization plug-in corresponding to the code problem type of the current code segment to be improved generates a plurality of optimization code segments corresponding to the current code segment to be improved and a base score of the optimization code segments, and the method specifically comprises the following steps:
generating a plurality of candidate optimization code sections corresponding to the code problem types of the current code section to be improved and a basic score of the candidate optimization code sections based on the optimization plug-in corresponding to the code problem types of the current code section to be improved;
and selecting a plurality of candidate optimization code segments from a plurality of candidate optimization code segments corresponding to each code problem type based on the priority of each code problem type to serve as a plurality of optimization code segments corresponding to the current code segment to be improved, and acquiring the basic scores of the plurality of optimization code segments.
According to a code optimization method provided by the present invention, based on the priority of each code problem type, selecting a plurality of candidate optimization code segments from a plurality of candidate optimization code segments corresponding to each code problem type as a plurality of optimization code segments corresponding to the current code segment to be improved specifically includes:
based on the priority of any code problem type, selecting a preset number of candidate optimization code segments from a plurality of candidate optimization code segments corresponding to any code problem type to serve as the optimization code segments corresponding to the current code segment to be improved; the higher the priority of any code problem type is, the more the number of candidate optimization code segments selected from the candidate optimization code segments corresponding to the code problem type is.
According to a code optimization method provided by the present invention, the step of placing the plurality of optimized code segments in the target code respectively for performing a function test to obtain test scores of the plurality of optimized code segments specifically comprises:
acquiring a test case of the current code segment to be improved;
based on the test case, respectively placing the current code segment to be improved and the optimized code segments in the target code for function test to obtain test results of the current code segment to be improved and the optimized code segments;
comparing the test results of the optimized code segments with the test results of the current code segment to be improved respectively to obtain the test comparison results of the optimized code segments;
and determining the test scores of the optimized code sections based on the test comparison results of the optimized code sections.
According to a code optimization method provided by the present invention, the defect analysis is performed on the target code based on a preset code evaluation condition to obtain a plurality of code segments to be improved with defects in the target code and a code problem type of the code segment to be improved, and the method specifically includes:
respectively generating an evaluation program corresponding to each code evaluation condition based on each code evaluation condition;
and respectively transmitting the target code as a parameter to an evaluation program corresponding to each code evaluation condition for evaluation to obtain a code segment to be improved which does not accord with any code evaluation condition in the target code, and taking the non-conformity code evaluation condition as the code problem type of the code segment to be improved.
The present invention also provides a code optimization apparatus, including:
the target code acquiring unit is used for acquiring a target code to be optimized; the object code is a code file or a code segment for realizing a plurality of functional logics in the code file;
the code defect evaluation unit is used for carrying out defect analysis on the target code based on a preset code evaluation condition to obtain a plurality of code segments to be improved with defects in the target code and the code problem types of the code segments to be improved;
the optimization sequence determining unit is used for determining the optimization sequence of the code segments to be improved based on the global influence degree of the code segments to be improved in the target code; the higher the global influence degree of any code section to be improved in the target code is, the more the optimization order of any code section to be improved is;
the optimization unit is used for sequentially optimizing each code segment to be improved based on the optimization sequence of the plurality of code segments to be improved; aiming at a current code segment to be improved, generating a plurality of optimized code segments corresponding to the current code segment to be improved and a basic score of the optimized code segments based on an optimized plug-in corresponding to a code problem type of the current code segment to be improved; respectively placing the optimized code segments in the target code to perform function test to obtain test scores of the optimized code segments; and determining an optimal optimized code segment based on the basic scores and the test scores of the optimized code segments, and replacing the current code segment to be improved based on the optimal optimized code segment.
The present invention also provides an electronic device, comprising a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the code optimization method as described in any one of the above when executing the program.
The invention also provides a non-transitory computer-readable storage medium having stored thereon a computer program which, when executed by a processor, implements the steps of the code optimization method as described in any one of the above.
The invention also provides a computer program product comprising a computer program which, when executed by a processor, carries out the steps of the code optimization method as described in any one of the above.
According to the code optimization method, the device, the electronic equipment and the storage medium, the target code is subjected to defect analysis through the preset code evaluation condition, a plurality of code segments to be improved with defects in the target code and the code problem types of the code segments to be improved are obtained, and the optimization sequence of the code segments to be improved is determined based on the global influence degree of the code segments to be improved in the target code, so that the code segments to be improved are sequentially optimized based on the optimization sequence of the code segments to be improved; specifically, aiming at a current code segment to be improved, based on an optimization plug-in corresponding to the code problem type of the current code segment to be improved, a plurality of optimization code segments corresponding to the current code segment to be improved and a basic score of the optimization code segments are generated; respectively placing the optimized code segments in a target code to perform function test to obtain test scores of the optimized code segments; based on the basic scores and the test scores of the optimized code segments, the optimized code segments are determined and the current code segments to be improved are replaced, and the code optimization is carried out in the mode, so that the code stability of the control software of the semiconductor equipment can be improved, the running stability of the semiconductor equipment is improved, the maintainability of the codes can be improved, the maintenance efficiency of the codes is improved, the debugging period of the semiconductor equipment is shortened, and the downtime of the semiconductor equipment is greatly reduced.
Drawings
In order to more clearly illustrate the present invention or the technical solutions in the prior art, the drawings used in the embodiments or the description of the prior art will be briefly described below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and other drawings can be obtained by those skilled in the art without creative efforts.
FIG. 1 is a flow chart diagram of a code optimization method provided by the present invention;
FIG. 2 is a schematic structural diagram of a code optimization apparatus provided in the present invention;
fig. 3 is a schematic structural diagram of an electronic device provided in the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention clearer, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings, and it is obvious that the described embodiments are some, but not all embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Fig. 1 is a schematic flowchart of a code optimization method according to an embodiment of the present invention, and as shown in fig. 1, the method includes:
step 110, acquiring a target code to be optimized; the target code is a code file or a code segment for realizing a plurality of functional logics in the code file;
step 120, performing defect analysis on the target code based on a preset code evaluation condition to obtain a plurality of code segments to be improved with defects in the target code and a code problem type of the code segments to be improved;
step 130, determining an optimization sequence of the code segments to be improved based on the global influence degree of the code segments to be improved in the target code; the higher the global influence degree of any code section to be improved in the target code is, the more the optimization order of any code section to be improved is;
step 140, optimizing each code segment to be improved in sequence based on the optimization sequence of the plurality of code segments to be improved; aiming at a current code segment to be improved, generating a plurality of optimized code segments corresponding to the current code segment to be improved and a basic score of the optimized code segments based on an optimized plug-in corresponding to a code problem type of the current code segment to be improved; respectively placing the optimized code segments in the target code to perform function test to obtain test scores of the optimized code segments; and determining an optimal optimized code segment based on the basic scores and the test scores of the optimized code segments, and replacing the current code segment to be improved based on the optimal optimized code segment.
Here, object code that needs to be code-optimized in the semiconductor device control software is acquired. The obtained target code needing code optimization can be one or more complete code files, such as a java file or a py file, and even can be a package file containing a plurality of code files; the object code may also be a code segment in a code file implementing a number of complete functional logic, e.g. a class in a java file or one or more methods in a class.
And then, carrying out defect analysis on the target code by utilizing a plurality of preset code evaluation conditions, and judging whether the target code contains defects which do not meet the any code evaluation conditions. Wherein each code evaluation condition corresponds to a design rule of the semiconductor device control software.
In this case, the design rules followed by the code design patterns may be screened according to the requirements of the semiconductor field on the stability and maintainability of the semiconductor device control software, so as to obtain the design rules that the semiconductor device control software must meet, which is used as the basis for determining whether the code of the semiconductor device control software has defects. For example, since the semiconductor field puts high demands on the stability and maintainability of semiconductor device control software, the principle of the riemery replacement, the discot rule, the opening and closing rule, and the like can be determined as design principles that the semiconductor device control software must satisfy.
The functions of the control software of the semiconductor device are continuously updated to meet more functional requirements, but the stability and accuracy requirements of the semiconductor device on part of basic functions are high, for example, the basic functions of each link of the process operation, such as a heating control function, cannot generate any running risk due to newly added functions (such as front-end display of a heating state, state monitoring in a heating process, and the like), and therefore the above-mentioned richter replacement principle needs to be satisfied; when the semiconductor equipment is controlled to carry out process operation, a plurality of functions are decoupled, otherwise, the normal operation of other functions can be influenced by the fault or updating and maintenance of one function (class), and if unnecessary coupling conditions are generated, the basic functions are easy to generate operation risks, so that the coupling is removed as much as possible to meet the Dimidt rule; in addition, the semiconductor control software has a very high requirement on the stability of the program, but maintenance and update are necessary, so that the switching principle needs to be satisfied to avoid the influence of the expanded function on the stable operation of the native system.
And performing defect analysis on the target code by using preset code evaluation conditions, and judging whether each code segment in the target code conforms to the design principle corresponding to each code evaluation condition one by one. If a certain code segment in the target code does not accord with the design principle corresponding to any code evaluation condition, determining the code segment as a code segment to be improved with defects in the target code so as to perform subsequent code optimization, and determining the design principle corresponding to the code evaluation condition which is not in accord with the code evaluation condition as the code problem type of the code segment to be improved.
For example, for the richards substitution principle, the corresponding code evaluation condition may be set to determine whether the access modifier access authority of the method for rewriting the parent class by the child class is lower than that of the rewritten method by the parent class. Taking C # as an example, if the access modifier of a virtual method Show () in the parent class is public, if the Show () method of the parent class is rewritten in the child class, the code evaluation condition corresponding to the design rule will determine whether the access permission of the access modifier of the Show () method in the child class is lower than that of the parent class. If the result is lower than the parent class and is protected internal, it means that the child class does not conform to the design rule corresponding to the code evaluation condition.
Through the defect analysis, a plurality of code segments to be improved with defects in the target code and the code problem types thereof can be obtained. Since there may be more than one code section to be improved, optimization of these several code sections to be improved may have more or less impact on the execution of other code sections in the overall object code. If the optimization order of the code segment to be improved is not properly selected, the optimization order of the code segment to be improved, which has a large influence on other code segments, is set to be later, and when the later code segment to be improved is optimized, if the later code segment to be improved influences the execution of the earlier code segment to be improved, the optimization effect of the earlier code segment to be improved may be offset, so that the code optimization fails.
Therefore, the optimization order of the plurality of code segments to be improved can be determined based on the global influence degree of the plurality of code segments to be improved in the target code. Wherein the higher the global influence degree of any code segment to be improved in the target code, the more advanced the optimization order of the code segment to be improved. Here, the global influence degree of any code segment to be improved in the target code indicates the influence degree of the change of the code segment to be improved on the execution of other code segments in the target code. The higher the global influence degree of any code segment to be improved in the target code is, the more widely the change of the code segment has influence on the execution of other codes in the target code, and the more likely the optimization processing of the code segment to be improved has influence on the optimization effect of other code segments to be improved. Therefore, the code segment to be improved with higher global influence degree is placed at the front position for optimization, so that the situation that the code segment to be improved optimized later offsets the optimization effect of the previous code segment to be improved can be avoided, and the global optimization effect of code optimization is guaranteed.
And sequentially optimizing each code segment to be improved according to the optimization sequence of the code segments to be improved, and continuously optimizing the next code segment to be improved after one code segment to be improved is optimized. For the code segment to be improved currently, the specific optimization process comprises the following steps: obtaining an optimization plug-in corresponding to the code problem type of the current code segment to be improved, and generating a plurality of optimization code segments corresponding to the current code segment to be improved and a basic score of each optimization code segment; optimization plug-ins corresponding to various code problem types (namely design principles) can be preset and used for optimizing code segments to be improved corresponding to the code problem types. For example, the optimization method of the optimization plug-in corresponding to the richter substitution principle includes: (1) the modifier for modifying the child class rewrite method is the same as the rewritten method in the corresponding parent class; (2) the method rewriting is changed into a new method, namely, the override is modified into new. The basic score of the optimized code segment may be preset based on the optimization manner, for example, the basic score of the optimized code segment obtained by the optimization in the optimization manner (1) is 2, and the basic score of the optimized code segment obtained by the optimization manner (2) is 1.
In addition, in order to more accurately judge which optimized code segment obtained by the optimized mode is more appropriate, each optimized code segment can be respectively placed in the target code to perform a function test, so as to obtain a test score of each optimized code segment. Specifically, when any optimized code segment is subjected to function test, the optimized code segment can be used for temporarily replacing the current code segment to be improved in the target code, and the replaced target code is subjected to function test to obtain a test score of the optimized code segment. Based on the basic scores and the test scores of the optimized code segments, the total scores of the optimized code segments can be calculated, and based on the total scores of the optimized code segments, the optimized code segment with the highest total score is determined to be the optimal optimized code segment of the current code segment to be improved. And replacing the current code segment to be improved in the target code based on the optimal optimized code segment, and completing the optimization of the current code segment to be improved.
According to the method provided by the embodiment of the invention, the target code is subjected to defect analysis through the preset code evaluation condition to obtain a plurality of code segments to be improved with defects in the target code and the code problem types of the code segments to be improved, and the optimization sequence of the code segments to be improved is determined based on the global influence degree of the code segments to be improved in the target code, so that each code segment to be improved is sequentially optimized based on the optimization sequence of the code segment to be improved; specifically, aiming at a current code segment to be improved, based on an optimization plug-in corresponding to the code problem type of the current code segment to be improved, a plurality of optimization code segments corresponding to the current code segment to be improved and a basic score of the optimization code segments are generated; respectively placing the optimized code segments in a target code to perform function test to obtain test scores of the optimized code segments; based on the basic scores and the test scores of the optimized code segments, the optimized code segments are determined and the current code segments to be improved are replaced, and the code optimization is carried out in the mode, so that the code stability of the semiconductor equipment control software can be improved, the running stability of the semiconductor equipment is improved, the maintainability of the codes can be improved, the code maintenance efficiency is improved, the debugging period of the semiconductor equipment is shortened, and the downtime of the semiconductor equipment is greatly reduced.
Based on the above embodiment, the global influence degree of the code segments to be improved in the target code is determined based on the number of times the code segments to be improved are referred to in the target code; wherein the more times any code section to be improved is referenced in the target code, the higher the global influence degree of any code section to be improved is.
Specifically, in order to determine the global influence degree of the code segment to be improved in the target code, the determination may be based on the number of times the code segment to be improved is referred to in the target code. The more times a code segment to be improved is referred to in the target code, which indicates that more methods in the target code call the code segment to be improved when executing, and the higher the influence degree of the change of the code segment to be improved on the execution of other code segments in the target code is. Therefore, the number of times that the code segment to be improved is referred to in the target code is proportional to the global influence degree of the code segment to be improved, so that the number of times that the code segment to be improved is referred to in the target code can be directly determined as the global influence degree of the code segment to be improved.
Based on any embodiment, the global influence degree of the code segments to be improved in the target code is determined based on the following steps:
performing simulation compilation on the object code in a test environment, and acquiring a function call graph of the object code in the process of simulation compilation;
determining the number of times the number of code segments to be improved are referred to in the target code based on a function call graph of the target code;
determining a global degree of influence of the number of code sections to be improved based on the number of times the number of code sections to be improved are referenced in the target code.
Specifically, in order to determine the number of times that each code segment to be improved is referred to in the object code as the global influence degree, the object code may be subjected to simulation compilation in a test environment, and a function call graph of the object code may be obtained in the simulation compilation process. The function call graph can analyze the call relation among the methods in the target code, the function positions of the parent method and the child method, and the like. Based on the function call graph, the number of times the code segment to be improved is referenced in the target code may be determined. And determining the global influence degree of each code segment to be improved based on the number of times the code segment to be improved is referred in the target code.
When the current code segment to be improved has a plurality of code problem types, the generating a plurality of optimized code segments corresponding to the current code segment to be improved and a base score of the optimized code segment based on the optimization plug-in corresponding to the code problem type of the current code segment to be improved specifically includes:
generating a plurality of candidate optimized code segments corresponding to the code problem types of the current code segments to be improved and a basic score of the candidate optimized code segments based on the optimized plug-ins corresponding to the code problem types of the current code segments to be improved;
and selecting a plurality of candidate optimization code segments from a plurality of candidate optimization code segments corresponding to each code problem type based on the priority of each code problem type to serve as a plurality of optimization code segments corresponding to the current code segment to be improved, and acquiring the basic scores of the plurality of optimization code segments.
In particular, when a plurality of code problem types exist in the current code segment to be improved, the current code segment to be improved is shown to simultaneously violate a plurality of design principles. When optimizing the current code segment to be improved, the optimization plug-ins corresponding to the code problem types of the current code segment to be improved can be respectively utilized to generate a plurality of candidate optimization code segments corresponding to the code problem types of the current code segment to be improved and the basic scores of the candidate optimization code segments. For example, optimization plug-ins corresponding to code problem types 1 and 2 of the current code segment to be improved may be utilized to generate candidate optimized code segments C1, C2 and C3 corresponding to code problem type 1 and candidate optimized code segments C4 and C5 corresponding to code problem type 2, respectively.
And selecting a plurality of candidate optimization code segments from a plurality of candidate optimization code segments corresponding to the code problem types based on the priority of the code problem types, taking the candidate optimization code segments as a plurality of optimization code segments corresponding to the current code segment to be improved, and acquiring the basic scores of the optimization code segments. The higher the priority of the code problem type is, the more likely the candidate optimized code segment corresponding to the code problem type is to be selected as the optimized code segment corresponding to the current code segment to be improved. Here, the priority of each code problem type (i.e., design rule) may be set in advance. For example, in order to meet the requirement of high stability of the semiconductor device control software, the priority of the richter replacement principle can be set higher because the design principle has a greater influence on the program stability; while the priority of a single principle may be set lower because the design principle has less impact on program stability.
Based on any of the embodiments, the selecting, based on the priority of each code problem type, multiple candidate optimized code segments from multiple candidate optimized code segments corresponding to each code problem type as multiple optimized code segments corresponding to the current code segment to be improved specifically includes:
based on the priority of any code problem type, selecting a preset number of candidate optimization code segments from a plurality of candidate optimization code segments corresponding to any code problem type to serve as the optimization code segments corresponding to the current code segments to be improved; wherein the higher the priority of any code problem type is, the greater the number of candidate optimization code segments selected from the plurality of candidate optimization code segments corresponding to the any code problem type is.
Specifically, according to the priority of any code problem type, a preset number of candidate optimization code segments are selected from a plurality of candidate optimization code segments corresponding to the code problem type and serve as the optimization code segments corresponding to the current code segment to be improved. The number of specifically selected candidate optimization code segments may be preset according to the priority of the code problem type. The higher the priority of the code problem type is, the more the number of candidate optimization code segments selected from the candidate optimization code segments corresponding to the code problem type is, and the more the number of optimization code segments selected from the candidate optimization code segments of the code problem type is, the more likely it is to be the optimal optimization code segment of the current code segment to be improved, compared with the code problem type with lower priority.
Based on any of the above embodiments, the placing the optimized code segments in the target code respectively for performing a functional test to obtain test scores of the optimized code segments specifically includes:
acquiring a test case of the current code segment to be improved;
based on the test case, respectively placing the current code segment to be improved and the optimized code segments in the target code for functional testing to obtain test results of the current code segment to be improved and the optimized code segments;
respectively comparing the test results of the optimized code segments with the test results of the current code segment to be improved to obtain test comparison results of the optimized code segments;
determining test scores of the plurality of optimized code sections based on the test comparison results of the plurality of optimized code sections.
Specifically, when performing a functional test on a plurality of optimized code segments, a test case of a current code segment to be improved may be obtained first. And respectively placing the current code segment to be improved and a plurality of optimized code segments of the current code segment to be improved in the target code by using the test case to perform function test, so as to obtain the test results of the current code segment to be improved and the plurality of optimized code segments. Considering that the purpose of code optimization is to improve code stability and maintainability, but the functional logic of the corresponding code should not be changed, the test results of the optimized code segments may be compared with the test results of the current code segment to be improved, respectively, to obtain the test comparison results of the optimized code segments. And determining the test scores of the optimized code sections based on the test comparison results of the optimized code sections. If the test result of any optimized code segment is different from the test result of the current code segment to be improved, the test score of the optimized code segment can be determined to be a lower score; if the test result of any optimized code segment is the same as that of the current code segment to be improved, the test score of the optimized code segment can be determined to be a higher score.
Based on any of the above embodiments, the performing defect analysis on the target code based on the preset code evaluation condition to obtain a plurality of code segments to be improved with defects in the target code and a code problem type of the code segments to be improved specifically includes:
respectively generating an evaluation program corresponding to each code evaluation condition based on each code evaluation condition;
and respectively transmitting the target code as a parameter to an evaluation program corresponding to each code evaluation condition for evaluation to obtain a code segment to be improved which does not accord with any code evaluation condition in the target code, and taking the non-conformity code evaluation condition as the code problem type of the code segment to be improved.
Specifically, based on each code evaluation condition, a typical application scenario of the design rule corresponding to each code evaluation condition may be written into a program, and an evaluation program corresponding to each code evaluation condition is generated. When defect analysis is carried out, the target codes can be used as parameters to be respectively transmitted to the evaluation programs corresponding to the code evaluation conditions for evaluation, code segments to be improved in the target codes, which do not accord with any code evaluation condition, are obtained, and the non-conformity code evaluation conditions are used as the code problem types of the code segments to be improved.
The following describes the code optimization apparatus provided by the present invention, and the code optimization apparatus described below and the code optimization method described above may be referred to correspondingly.
Based on any of the above embodiments, fig. 2 is a schematic structural diagram of a code optimization apparatus provided in an embodiment of the present invention, as shown in fig. 2, the apparatus includes: an object code acquisition unit 210, a code defect evaluation unit 220, an optimization order determination unit 230, and an optimization unit 240.
The target code obtaining unit 210 is configured to obtain a target code to be optimized; the target code is a code file or a code segment for realizing a plurality of functional logics in the code file;
the code defect evaluating unit 220 is configured to perform defect analysis on the target code based on a preset code evaluating condition to obtain a plurality of code segments to be improved with defects in the target code and a code problem type of the code segments to be improved;
the optimization order determination unit 230 is configured to determine an optimization order of the code segments to be improved based on a global influence degree of the code segments to be improved in the target code; the higher the global influence degree of any code segment to be improved in the target code is, the more the optimization sequence of any code segment to be improved is;
the optimization unit 240 is configured to sequentially optimize each code segment to be improved based on the optimization order of the plurality of code segments to be improved; aiming at a current code segment to be improved, generating a plurality of optimized code segments corresponding to the current code segment to be improved and a basic score of the optimized code segments based on an optimized plug-in corresponding to the code problem type of the current code segment to be improved; respectively placing the optimized code segments in the target code to perform function test to obtain test scores of the optimized code segments; and determining an optimal optimization code segment based on the basic scores and the test scores of the optimization code segments, and replacing the current code segment to be improved based on the optimal optimization code segment.
The device provided by the embodiment of the invention carries out defect analysis on the target code through the preset code evaluation condition to obtain a plurality of code segments to be improved with defects in the target code and the code problem types of the code segments to be improved, and then determines the optimization sequence of the code segments to be improved based on the global influence degree of the code segments to be improved in the target code, thereby sequentially optimizing each code segment to be improved based on the optimization sequence of the code segments to be improved; specifically, aiming at a current code segment to be improved, based on an optimization plug-in corresponding to a code problem type of the current code segment to be improved, a plurality of optimization code segments corresponding to the current code segment to be improved and a basic score of the optimization code segments are generated; respectively placing the optimized code segments in the target code to perform function test to obtain test scores of the optimized code segments; based on the basic scores and the test scores of the optimized code segments, the optimized code segments are determined and the current code segments to be improved are replaced, and the code optimization is carried out in the mode, so that the code stability of the semiconductor equipment control software can be improved, the running stability of the semiconductor equipment is improved, the maintainability of the codes can be improved, the code maintenance efficiency is improved, the debugging period of the semiconductor equipment is shortened, and the downtime of the semiconductor equipment is greatly reduced.
Based on any embodiment, the global influence degree of the code sections to be improved in the target code is determined based on the number of times the code sections to be improved are referred in the target code; wherein the more times any code segment to be improved is referenced in the target code, the higher the global influence degree of any code segment to be improved is.
Based on any embodiment, the global influence degree of the code segments to be improved in the target code is determined based on the following steps:
performing simulation compilation on the object code in a test environment, and acquiring a function call graph of the object code in the process of simulation compilation;
determining the number of times the number of code segments to be improved are referred to in the target code based on a function call graph of the target code;
determining a global degree of influence of the number of code sections to be improved based on the number of times the number of code sections to be improved are referenced in the target code.
Based on any of the above embodiments, when the current code segment to be improved has multiple code problem types, the generating multiple optimized code segments corresponding to the current code segment to be improved and the base scores of the optimized code segments based on the optimized plug-in corresponding to the code problem types of the current code segment to be improved specifically includes:
generating a plurality of candidate optimized code segments corresponding to the code problem types of the current code segments to be improved and a basic score of the candidate optimized code segments based on the optimized plug-ins corresponding to the code problem types of the current code segments to be improved;
and selecting a plurality of candidate optimization code segments from a plurality of candidate optimization code segments corresponding to the code problem types based on the priority of each code problem type to serve as a plurality of optimization code segments corresponding to the current code segment to be improved, and acquiring the basic scores of the plurality of optimization code segments.
Based on any of the embodiments, the selecting, based on the priority of each code problem type, multiple candidate optimized code segments from multiple candidate optimized code segments corresponding to each code problem type as multiple optimized code segments corresponding to the current code segment to be improved specifically includes:
based on the priority of any code problem type, selecting a preset number of candidate optimization code segments from a plurality of candidate optimization code segments corresponding to any code problem type to serve as the optimization code segments corresponding to the current code segment to be improved; wherein the higher the priority of any code problem type is, the greater the number of candidate optimization code segments selected from the plurality of candidate optimization code segments corresponding to the any code problem type is.
Based on any of the above embodiments, the placing the optimized code segments in the target code respectively for performing a functional test to obtain test scores of the optimized code segments specifically includes:
acquiring a test case of the current code segment to be improved;
based on the test case, respectively placing the current code segment to be improved and the optimized code segments in the target code for functional testing to obtain test results of the current code segment to be improved and the optimized code segments;
respectively comparing the test results of the optimized code segments with the test results of the current code segment to be improved to obtain test comparison results of the optimized code segments;
determining test scores of the plurality of optimized code sections based on the test comparison results of the plurality of optimized code sections.
Based on any of the above embodiments, the performing defect analysis on the target code based on the preset code evaluation condition to obtain a plurality of code segments to be improved with defects in the target code and a code problem type of the code segment to be improved specifically includes:
respectively generating an evaluation program corresponding to each code evaluation condition based on each code evaluation condition;
and respectively transmitting the target code as a parameter to an evaluation program corresponding to each code evaluation condition for evaluation to obtain a code segment to be improved which does not accord with any code evaluation condition in the target code, and taking the non-conformity code evaluation condition as the code problem type of the code segment to be improved.
Fig. 3 illustrates a physical structure diagram of an electronic device, which may include, as shown in fig. 3: a processor (processor)310, a communication Interface (Communications Interface)320, a memory (memory)330 and a communication bus 340, wherein the processor 310, the communication Interface 320 and the memory 330 communicate with each other via the communication bus 340. The processor 310 may call logic instructions in the memory 330 to perform a code optimization method comprising: acquiring a target code to be optimized; the object code is a code file or a code segment for realizing a plurality of functional logics in the code file; performing defect analysis on the target code based on preset code evaluation conditions to obtain a plurality of code segments to be improved with defects in the target code and code problem types of the code segments to be improved; determining an optimization order of the code segments to be improved based on the global influence degree of the code segments to be improved in the target code; the higher the global influence degree of any code section to be improved in the target code is, the more the optimization order of any code section to be improved is; optimizing each code segment to be improved in sequence based on the optimization sequence of the plurality of code segments to be improved; aiming at a current code segment to be improved, generating a plurality of optimized code segments corresponding to the current code segment to be improved and a basic score of the optimized code segments based on an optimized plug-in corresponding to the code problem type of the current code segment to be improved; respectively placing the optimized code segments in the target code to perform function test to obtain test scores of the optimized code segments; and determining an optimal optimized code segment based on the basic scores and the test scores of the optimized code segments, and replacing the current code segment to be improved based on the optimal optimized code segment.
In addition, the logic instructions in the memory 330 may be implemented in the form of software functional units and stored in a computer readable storage medium when the software functional units are sold or used as independent products. Based on such understanding, the technical solution of the present invention or a part thereof which substantially contributes to the prior art may be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk, and various media capable of storing program codes.
In another aspect, the present invention also provides a computer program product, the computer program product comprising a computer program, the computer program being storable on a non-transitory computer-readable storage medium, the computer program, when executed by a processor, being capable of executing the code optimization method provided by the above methods, the method comprising: acquiring a target code to be optimized; the object code is a code file or a code segment for realizing a plurality of functional logics in the code file; performing defect analysis on the target code based on a preset code evaluation condition to obtain a plurality of code segments to be improved with defects in the target code and a code problem type of the code segments to be improved; determining an optimization order of the code segments to be improved based on the global influence degree of the code segments to be improved in the target code; the higher the global influence degree of any code section to be improved in the target code is, the more the optimization order of any code section to be improved is; optimizing each code segment to be improved in sequence based on the optimization sequence of the plurality of code segments to be improved; aiming at a current code segment to be improved, generating a plurality of optimized code segments corresponding to the current code segment to be improved and a basic score of the optimized code segments based on an optimized plug-in corresponding to the code problem type of the current code segment to be improved; respectively placing the optimized code segments in the target code to perform function test to obtain test scores of the optimized code segments; and determining an optimal optimized code segment based on the basic scores and the test scores of the optimized code segments, and replacing the current code segment to be improved based on the optimal optimized code segment.
In yet another aspect, the present invention also provides a non-transitory computer-readable storage medium, on which a computer program is stored, the computer program, when being executed by a processor, implementing a method for optimizing code provided by the above methods, the method including: acquiring a target code to be optimized; the target code is a code file or a code segment for realizing a plurality of functional logics in the code file; performing defect analysis on the target code based on a preset code evaluation condition to obtain a plurality of code segments to be improved with defects in the target code and a code problem type of the code segments to be improved; determining an optimization order of the code segments to be improved based on the global influence degree of the code segments to be improved in the target code; the higher the global influence degree of any code segment to be improved in the target code is, the more the optimization sequence of any code segment to be improved is; optimizing each code segment to be improved in sequence based on the optimization sequence of the plurality of code segments to be improved; aiming at a current code segment to be improved, generating a plurality of optimized code segments corresponding to the current code segment to be improved and a basic score of the optimized code segments based on an optimized plug-in corresponding to a code problem type of the current code segment to be improved; respectively placing the optimized code segments in the target code to perform function test to obtain test scores of the optimized code segments; and determining an optimal optimization code segment based on the basic scores and the test scores of the optimization code segments, and replacing the current code segment to be improved based on the optimal optimization code segment.
The above-described embodiments of the apparatus are merely illustrative, and the units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one position, or may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment. One of ordinary skill in the art can understand and implement it without inventive effort.
Through the above description of the embodiments, those skilled in the art will clearly understand that each embodiment can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware. Based on the understanding, the above technical solutions substantially or otherwise contributing to the prior art may be embodied in the form of a software product, which may be stored in a computer-readable storage medium, such as ROM/RAM, magnetic disk, optical disk, etc., and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the method according to the various embodiments or some parts of the embodiments.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.

Claims (10)

1. A method for code optimization, comprising:
acquiring a target code to be optimized; the target code is a code file or a code segment for realizing a plurality of functional logics in the code file;
performing defect analysis on the target code based on preset code evaluation conditions to obtain a plurality of code segments to be improved with defects in the target code and code problem types of the code segments to be improved;
determining an optimization order of the code segments to be improved based on the global influence degree of the code segments to be improved in the target code; the higher the global influence degree of any code section to be improved in the target code is, the more the optimization order of any code section to be improved is;
optimizing each code segment to be improved in sequence based on the optimization sequence of the plurality of code segments to be improved; aiming at a current code segment to be improved, generating a plurality of optimized code segments corresponding to the current code segment to be improved and a basic score of the optimized code segments based on an optimized plug-in corresponding to a code problem type of the current code segment to be improved; respectively placing the optimized code segments in the target code to perform function test to obtain test scores of the optimized code segments; and determining an optimal optimized code segment based on the basic scores and the test scores of the optimized code segments, and replacing the current code segment to be improved based on the optimal optimized code segment.
2. The code optimization method of claim 1, wherein the global degree of influence of the number of code sections to be improved in the target code is determined based on the number of times the number of code sections to be improved are referenced in the target code; wherein the more times any code section to be improved is referenced in the target code, the higher the global influence degree of any code section to be improved is.
3. The code optimization method of claim 2, wherein the global degree of influence of the plurality of code segments to be improved in the target code is determined based on the following steps:
performing simulation compilation on the object code in a test environment, and acquiring a function call graph of the object code in the simulation compilation process;
determining the number of times the number of code segments to be improved are referred to in the target code based on a function call graph of the target code;
determining a global influence degree of the plurality of code sections to be improved based on the number of times the plurality of code sections to be improved are referred in the target code.
4. The method according to claim 1, wherein when there are multiple code problem types in the current code segment to be improved, the generating multiple optimized code segments corresponding to the current code segment to be improved and the base scores of the optimized code segments based on the optimization plug-in corresponding to the code problem types of the current code segment to be improved specifically includes:
generating a plurality of candidate optimized code segments corresponding to the code problem types of the current code segments to be improved and a basic score of the candidate optimized code segments based on the optimized plug-ins corresponding to the code problem types of the current code segments to be improved;
and selecting a plurality of candidate optimization code segments from a plurality of candidate optimization code segments corresponding to each code problem type based on the priority of each code problem type to serve as a plurality of optimization code segments corresponding to the current code segment to be improved, and acquiring the basic scores of the plurality of optimization code segments.
5. The method according to claim 4, wherein the selecting, based on the priority of each code problem type, a plurality of candidate optimized code segments from a plurality of candidate optimized code segments corresponding to each code problem type as the plurality of optimized code segments corresponding to the current code segment to be improved specifically comprises:
based on the priority of any code problem type, selecting a preset number of candidate optimization code segments from a plurality of candidate optimization code segments corresponding to any code problem type to serve as the optimization code segments corresponding to the current code segment to be improved; the higher the priority of any code problem type is, the more the number of candidate optimization code segments selected from the candidate optimization code segments corresponding to the code problem type is.
6. The method according to claim 1, wherein the step of placing the optimized code segments in the target code respectively for performing a functional test to obtain test scores of the optimized code segments comprises:
acquiring a test case of the current code segment to be improved;
based on the test case, respectively placing the current code segment to be improved and the optimized code segments in the target code for functional testing to obtain test results of the current code segment to be improved and the optimized code segments;
comparing the test results of the optimized code segments with the test results of the current code segment to be improved respectively to obtain the test comparison results of the optimized code segments;
determining test scores of the plurality of optimized code sections based on the test comparison results of the plurality of optimized code sections.
7. The code optimization method according to claim 1, wherein the performing defect analysis on the target code based on a preset code evaluation condition to obtain a plurality of code segments to be improved having defects in the target code and a code problem type of the code segments to be improved specifically comprises:
respectively generating an evaluation program corresponding to each code evaluation condition based on each code evaluation condition;
and respectively transmitting the target codes as parameters to the evaluation programs corresponding to the code evaluation conditions for evaluation to obtain code segments to be improved which do not accord with any code evaluation condition in the target codes, and taking the non-conformity code evaluation conditions as the code problem types of the code segments to be improved.
8. A code optimization apparatus, comprising:
the target code acquiring unit is used for acquiring a target code to be optimized; the object code is a code file or a code segment for realizing a plurality of functional logics in the code file;
the code defect evaluation unit is used for carrying out defect analysis on the target code based on preset code evaluation conditions to obtain a plurality of code segments to be improved with defects in the target code and the code problem types of the code segments to be improved;
the optimization sequence determining unit is used for determining the optimization sequence of the code segments to be improved based on the global influence degree of the code segments to be improved in the target code; the higher the global influence degree of any code segment to be improved in the target code is, the more the optimization sequence of any code segment to be improved is;
the optimization unit is used for sequentially optimizing each code segment to be improved based on the optimization sequence of the plurality of code segments to be improved; aiming at a current code segment to be improved, generating a plurality of optimized code segments corresponding to the current code segment to be improved and a basic score of the optimized code segments based on an optimized plug-in corresponding to the code problem type of the current code segment to be improved; respectively placing the optimized code segments in the target code to perform function test to obtain test scores of the optimized code segments; and determining an optimal optimization code segment based on the basic scores and the test scores of the optimization code segments, and replacing the current code segment to be improved based on the optimal optimization code segment.
9. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the steps of the code optimization method according to any one of claims 1 to 7 when executing the program.
10. A non-transitory computer-readable storage medium, on which a computer program is stored, wherein the computer program, when executed by a processor, implements the steps of the code optimization method according to any one of claims 1 to 7.
CN202210732866.6A 2022-06-27 2022-06-27 Code optimization method and device, electronic equipment and storage medium Active CN114780444B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210732866.6A CN114780444B (en) 2022-06-27 2022-06-27 Code optimization method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210732866.6A CN114780444B (en) 2022-06-27 2022-06-27 Code optimization method and device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN114780444A true CN114780444A (en) 2022-07-22
CN114780444B CN114780444B (en) 2022-09-02

Family

ID=82422264

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210732866.6A Active CN114780444B (en) 2022-06-27 2022-06-27 Code optimization method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN114780444B (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110928782A (en) * 2019-11-20 2020-03-27 北京国舜科技股份有限公司 Application security management method and device, electronic equipment and storage medium
CN111008148A (en) * 2019-12-20 2020-04-14 广州品唯软件有限公司 Code testing method and device and computer readable storage medium
US20210255946A1 (en) * 2020-02-19 2021-08-19 Applied Materials Israel Ltd. Testing a code using real time analysis

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110928782A (en) * 2019-11-20 2020-03-27 北京国舜科技股份有限公司 Application security management method and device, electronic equipment and storage medium
CN111008148A (en) * 2019-12-20 2020-04-14 广州品唯软件有限公司 Code testing method and device and computer readable storage medium
US20210255946A1 (en) * 2020-02-19 2021-08-19 Applied Materials Israel Ltd. Testing a code using real time analysis

Also Published As

Publication number Publication date
CN114780444B (en) 2022-09-02

Similar Documents

Publication Publication Date Title
US7681180B2 (en) Parameterized test driven development
US8312440B2 (en) Method, computer program product, and hardware product for providing program individuality analysis for source code programs
US8719771B2 (en) Method and system for test reduction and analysis
CN106909510A (en) A kind of method and server for obtaining test case
CN100468358C (en) System and method to simulate conditions and drive control-flow in software
KR102160780B1 (en) Bug fixing system and bug fixing method
US20130055214A1 (en) System and method to indicate code block execution
CN115757149A (en) Automatic testing method, system, electronic equipment and storage medium
US20220138080A1 (en) Computer-implemented method and device for selecting a fuzzing method for testing a program code
US10394699B1 (en) Method and system for reusing a refinement file in coverage grading
CN114780444B (en) Code optimization method and device, electronic equipment and storage medium
CN110737590B (en) Offline debugging method
CN117331826A (en) Mixed fuzzy test optimization method for mining security holes
JP7190246B2 (en) Software failure prediction device
CN113836023B (en) Compiler security testing method based on architecture cross check
US11822463B2 (en) Computer-implemented method and device for selecting a fuzzing method for testing a program code
CN115167868A (en) Code compiling method, device, equipment and computer storage medium
WO2017201853A1 (en) Method for locating program regression fault using slicing model
US20100191710A1 (en) Network Meta-Data Libraries And Related Methods
CN109032932B (en) Constraint-supported combined test fault positioning method
CN113051582A (en) Computer software technology development and debugging system
CN113297038A (en) Monitoring and data processing method, device and equipment, monitoring system and data center
JP2021005171A (en) Bug identification support device, bug identification support method and program
Mesbah et al. Analyzing and repairing compilation errors
CN110990281B (en) Automatic static analysis method

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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 226400 No.1 Jinshan Road, zuegang street, Rudong County, Nantong City, Jiangsu Province

Patentee after: Jiangsu Yiwen Microelectronics Technology Co.,Ltd.

Patentee after: Wuxi Yiwen Microelectronics Technology Co.,Ltd.

Address before: 226400 No.1 Jinshan Road, zuegang street, Rudong County, Nantong City, Jiangsu Province

Patentee before: Jiangsu Yiwen Microelectronics Technology Co.,Ltd.

Patentee before: WUXI YIWEN ELECTRONIC TECHNOLOGY Co.,Ltd.