CN113391815B - Source code analysis result testing method and system based on multiple development languages - Google Patents

Source code analysis result testing method and system based on multiple development languages Download PDF

Info

Publication number
CN113391815B
CN113391815B CN202110644989.XA CN202110644989A CN113391815B CN 113391815 B CN113391815 B CN 113391815B CN 202110644989 A CN202110644989 A CN 202110644989A CN 113391815 B CN113391815 B CN 113391815B
Authority
CN
China
Prior art keywords
sequence
matching
source code
node
comparison
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.)
Active
Application number
CN202110644989.XA
Other languages
Chinese (zh)
Other versions
CN113391815A (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.)
Shanghai Chuangjing Information Technology Co ltd
Original Assignee
Vision Microsystems Shanghai Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vision Microsystems Shanghai Co ltd filed Critical Vision Microsystems Shanghai Co ltd
Priority to CN202110644989.XA priority Critical patent/CN113391815B/en
Publication of CN113391815A publication Critical patent/CN113391815A/en
Application granted granted Critical
Publication of CN113391815B publication Critical patent/CN113391815B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

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

Landscapes

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

Abstract

The application provides a source code analysis result testing system and method based on multiple development languages, comprising the following steps: the generation module is used for: analyzing the input source code files by using source code analysis engines with different packages to obtain different grammar tree result files; and a pretreatment module: preprocessing different grammar tree result files to obtain standardized grammar tree files; and the comparison judging module is used for: and constructing a node matching rule and a node custom comparison rule, calculating the maximum matching sequence of the comparison sequence in the comparison process, and judging the correctness of the source code analysis engine according to the matching degree. The method solves the problem that the comparison program needs to be reconstructed for each source code language in the past, and only needs to define rule configuration based on the method.

Description

Source code analysis result testing method and system based on multiple development languages
Technical Field
The application relates to the technical field of data analysis and test, in particular to a source code analysis result test method and system based on multiple development languages.
Background
The source code analysis engine is mainly used for analyzing the developed source code file to generate a grammar tree result, and the correctness verification of the grammar tree result is a pain point problem in the industry, and is required to be verified by huge manpower, and is a main reason for the lack of the infrastructure IT equipment products in China.
Patent document CN110990293a (application number: CN 201911298228.2) discloses an automatic verification test method and system. The method comprises the following steps: traversing the source codes by using a grammar analysis engine, and identifying the language types of the source codes; packaging codes into unified compatible API modules according to language types read in advance by the grammar analysis engine by using the API packaging engine; and (5) automatically verifying the packaged API module by using an automatic calibration engine.
Disclosure of Invention
Aiming at the defects in the prior art, the application aims to provide a source code analysis result testing method and system based on multiple development languages.
The source code analysis result test system based on multiple development languages provided by the application comprises:
the generation module is used for: analyzing the input source code files by using source code analysis engines with different packages to obtain different grammar tree result files;
and a pretreatment module: preprocessing different grammar tree result files to obtain standardized grammar tree files;
and the comparison judging module is used for: and constructing a node matching rule and a node custom comparison rule, calculating the maximum matching sequence of the comparison sequence in the comparison process, and judging the correctness of the source code analysis engine according to the matching degree.
Preferably, the generating module includes: the system comprises an encapsulation module and an XML output module;
the packaging module packages the different source code analysis engines, provides uniform interaction forms and interaction parameters, and shields the use difference among the different source code analysis engines;
the XML output module is used for: and carrying out standardized processing on the output of different source code analysis engines to obtain unified XML style standards and data organization standards.
Preferably, the preprocessing module includes: a kernel module and a rule definition module;
the kernel module defines a processing flow irrelevant to the source code language and expands rules meeting the processing flow;
the rule definition module specifically defines based on the rule expanded by the kernel module.
Preferably, the contrast output module includes: the comparison kernel module and the comparison rule definition module;
the comparison kernel module defines a processing flow irrelevant to the source code language, and performs rule expansion meeting the processing flow to realize the maximum matching of the standard grammar tree in the same level;
the comparison rule definition module is used for specifically defining the rule based on the expansion of the comparison kernel module.
Preferably, the definition is based on rule extensions, including transparentization, filtering, ordering, and node name modification.
The source code analysis result testing method based on multiple development languages provided by the application comprises the following steps:
generating: analyzing the input source code files by using source code analysis engines with different packages to obtain different grammar tree result files;
pretreatment: preprocessing different grammar tree result files to obtain standardized grammar tree files;
and (3) comparing and judging: and constructing a node matching rule and a node custom comparison rule, calculating the maximum matching sequence of the comparison sequence in the comparison process, and judging the correctness of the source code analysis engine according to the matching degree.
Preferably, the generating step includes:
packaging different source code analysis engines, providing uniform interaction forms and interaction parameters, and shielding the use difference among the different source code analysis engines;
and carrying out standardized processing on the output of different source code analysis engines to obtain unified XML style standards and data organization standards.
Preferably, the preprocessing step includes: defining a processing flow irrelevant to the source code language, and performing rule expansion meeting the processing flow.
Preferably, the step of comparing output includes: defining a processing flow irrelevant to the source code language, and performing rule expansion meeting the processing flow to realize the maximum matching of the standard grammar tree in the same level.
Preferably, the definition is based on extended rules, including transparentization, filtering, ordering, and node name modification.
Compared with the prior art, the application has the following beneficial effects:
(1) The verification of the analysis results of the newly developed source code analysis tools is realized by comparing the analysis results of the source code analysis tools under different development languages;
(2) According to the method, the module processing of transparency, filtering, sequencing and node name conversion is carried out on the original grammar tree result, the grammar tree is relatively standardized, automatic matching comparison is carried out on two grammar trees through definition of node comparison rules, the problem that a comparison program needs to be reconstructed for each source code language in the past is solved, and based on the method, only rule configuration definition is needed;
(3) The application solves the problem of continuous mismatch caused by partial mismatch in grammar tree comparison by constructing the maximum matching algorithm in comparison matching.
Drawings
Other features, objects and advantages of the present application will become more apparent upon reading of the detailed description of non-limiting embodiments, given with reference to the accompanying drawings in which:
FIG. 1 is a flow chart of the method of the present application.
Detailed Description
The present application will be described in detail with reference to specific examples. The following examples will assist those skilled in the art in further understanding the present application, but are not intended to limit the application in any way. It should be noted that variations and modifications could be made by those skilled in the art without departing from the inventive concept. These are all within the scope of the present application.
Examples:
the source code analysis result test system based on multiple development languages provided by the application comprises:
a grammar tree generation module: analyzing the input source code files by using source code analysis engines with different packages, outputting and generating different grammar tree result files, wherein the result of the mature source code analysis engine is called an A grammar tree, and the result of the new source code analysis engine is called a B grammar tree;
the grammar tree generation module comprises: the source code analysis engine packaging module and the source code analysis engine XML output module;
source code analysis engine encapsulation module: the method and the system realize packaging of different mature source code analysis engines, provide uniform interaction forms and interaction parameters, and shield the use difference among the different mature source code analysis engines.
The source code analysis engine XML output module: and a module for carrying out standardized processing on the output of the different mature source code analysis engines, wherein the output is a unified XML style standard and a data organization standard.
The output standards and forms of different source code analysis engines are quite different and cannot be directly used, and the output of the source code analysis engine packaging module is the input of the source code analysis engine XML output module.
Syntax tree preprocessing module: inputting a grammar tree generated by a grammar tree generating module, outputting a standardized grammar tree file, converting an A grammar tree into an A standard grammar tree, and converting a B grammar tree into a B standard grammar tree;
the grammar tree preprocessing module comprises: the preprocessing kernel module and the rule definition module;
the kernel module includes: defining a processing flow irrelevant to a source code language and performing rule expansion meeting the processing flow;
the rule definition module includes: the specific extension is carried out based on rule extension definition of the kernel module, and the rule extension comprises rule definition such as transparentization, filtering, sequencing, node name modification and the like.
And the grammar tree comparison result output module is used for: constructing a simple node matching rule and a complex node custom comparison rule, and calculating the maximum matching sequence of two comparison sequences in the comparison process;
the grammar tree comparison result output module comprises: the comparison kernel module and the comparison rule definition module;
the contrast kernel module comprises: defining a processing flow irrelevant to a source code language, and performing rule expansion meeting the processing flow to realize the maximum matching of A, B standard grammar tree in the same hierarchy;
the comparison rule definition module comprises: and performing extension definition of specific rules.
Because the application contrast granularity is different in different scenes, specific rules are different, for example, the current contrast node is marked as a function type node in the grammar A tree, the grammar B tree marks the current node as a function type node, the definition of specific rules of details is carried out on the basis, for example, the function node contrast rule is carried out, the specific detail contrast of the function name, the function start line, the function end line and the number of function parameters is carried out, and the specific contrast from coarse granularity to fine granularity is realized.
The process of calculating the maximum matching sequence comprises the following steps:
step 1, reversely inquiring a matching item in a sequence B by using the last element of the sequence A, marking the maximum matching as 1, and dividing the sequence B into two subsequences according to the matching position: BX1 (pre-match sequence), BX2 (post-match sequence);
step 2, reversely matching on two sequences BX1 and BX2 respectively by using the previous element, if a matching item is found, marking that the maximum matching of the matching point on the BX1 sequence is 2, the maximum matching of the matching point on the BX2 sequence is 1, and dividing the B sequence into BX1 (the maximum matching 2 pre-sequence), BX2 (the maximum matching 1 pre-sequence) and BX3 subsequence (the maximum matching 1 post-sequence), wherein the core is dividing the B sequence into subsequences with different grades;
and step 3, respectively performing step 2 on the previous elements in sequence.
Referring to fig. 1, the method for testing the source code analysis result based on multiple development languages provided by the application comprises the following steps:
step 1: initializing a B set group as an empty set;
step 2: marking the maximum match of the B sequences as 0, and adding the B sequences to a B set group;
step 3: marking the last node of A as the current node;
step 4: acquiring a current node A, judging whether the current node is effective, and if so, performing back-to-front matching on each sequence in the set B; otherwise, ending the flow;
step 5: judging whether the matching is successful, if so, splitting the matching sequence into two sequences, wherein the sequence before the matching node and the sequence after the matching node are matched, the maximum matching marks of the two sequences are respectively the maximum matching of the current sequence and +1, the maximum matching of the current sequence, deleting the current sequence, and adding a new splitting sequence; otherwise, setting a node before the current point of the A sequence as the current node;
step 6: and returning to the step 4, and continuing to execute until all nodes in the A sequence are traversed.
Those skilled in the art will appreciate that the systems, apparatus, and their respective modules provided herein may be implemented entirely by logic programming of method steps such that the systems, apparatus, and their respective modules are implemented as logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers, etc., in addition to the systems, apparatus, and their respective modules being implemented as pure computer readable program code. Therefore, the system, the apparatus, and the respective modules thereof provided by the present application may be regarded as one hardware component, and the modules included therein for implementing various programs may also be regarded as structures within the hardware component; modules for implementing various functions may also be regarded as being either software programs for implementing the methods or structures within hardware components.
The foregoing describes specific embodiments of the present application. It is to be understood that the application is not limited to the particular embodiments described above, and that various changes or modifications may be made by those skilled in the art within the scope of the appended claims without affecting the spirit of the application. The embodiments of the application and the features of the embodiments may be combined with each other arbitrarily without conflict.

Claims (4)

1. A source code analysis result test system based on multiple development languages is characterized by comprising:
the generation module is used for: analyzing the input source code files by using source code analysis engines with different packages to obtain different grammar tree result files;
and a pretreatment module: preprocessing different grammar tree result files to obtain standardized grammar tree files;
and the comparison judging module is used for: constructing a node matching rule and a node custom comparison rule, calculating the maximum matching sequence of the comparison sequence in the comparison process, and judging the correctness of the source code analysis engine according to the matching degree;
the generation module comprises: the system comprises an encapsulation module and an XML output module;
the packaging module packages the different source code analysis engines, provides uniform interaction forms and interaction parameters, and shields the use difference among the different source code analysis engines;
the XML output module is used for: carrying out standardized processing on the output of different source code analysis engines to obtain unified XML style standards and data organization standards;
the preprocessing module comprises: a kernel module and a rule definition module;
the kernel module defines a processing flow irrelevant to the source code language and expands rules meeting the processing flow;
the rule definition module is used for carrying out specific definition based on the rule expanded by the kernel module;
the comparison judging module comprises: the comparison kernel module and the comparison rule definition module;
the comparison kernel module defines a processing flow irrelevant to the source code language, and performs rule expansion meeting the processing flow to realize the maximum matching of the standard grammar tree in the same level;
the comparison rule definition module is used for specifically defining based on rules expanded by the comparison kernel module;
the process of calculating the maximum matching sequence comprises the following steps:
step 1, reversely inquiring a matching item in a sequence B by using the last element of the sequence A, marking the maximum matching as 1, and dividing the sequence B into two subsequences according to the matching position: BX1, BX2;
step 2, reversely matching on two sequences BX1 and BX2 respectively by using the previous element, if a matching item is found, marking that the maximum matching of the matching point on the BX1 sequence is 2, the maximum matching of the matching point on the BX2 sequence is 1, and dividing the B sequence into sub-sequences BX1, BX2 and BX3, wherein the core is dividing the B sequence into sub-sequences with different grades;
step 3, respectively carrying out step 2 on the previous element in sequence;
wherein BX1 is a sequence before a matching point, BX2 is a sequence after the matching point, and BX3 subsequence is a sequence after the largest matching point 1;
the process for judging the correctness of the source code analysis engine according to the matching degree comprises the following steps:
step one: initializing a B set group as an empty set;
step two: marking the maximum match of the B sequences as 0, and adding the B sequences to a B set group;
step three: marking the last node of A as the current node;
step four: acquiring a current node A, judging whether the current node is effective, and if so, performing back-to-front matching on each sequence in the set B; otherwise, ending the flow;
step five: judging whether the matching is successful, if so, splitting the matching sequence into two sequences, wherein the sequence before the matching node and the sequence after the matching node are matched, the maximum matching marks of the two sequences are respectively the maximum matching of the current sequence and +1, the maximum matching of the current sequence, deleting the current sequence, and adding a new splitting sequence; otherwise, setting a node before the current point of the A sequence as the current node;
step six: and returning to the fourth step, and continuing to execute until all nodes in the A sequence are traversed.
2. The multiple development language based source code analysis result test system of claim 1, wherein defining based on rule extensions includes transparentizing, filtering, ordering, and node name modification.
3. A source code analysis result testing method based on multiple development languages is characterized by comprising the following steps:
generating: analyzing the input source code files by using source code analysis engines with different packages to obtain different grammar tree result files;
pretreatment: preprocessing different grammar tree result files to obtain standardized grammar tree files;
and (3) comparing and judging: constructing a node matching rule and a node custom comparison rule, calculating the maximum matching sequence of the comparison sequence in the comparison process, and judging the correctness of the source code analysis engine according to the matching degree;
the generating step comprises the following steps:
packaging different source code analysis engines, providing uniform interaction forms and interaction parameters, and shielding the use difference among the different source code analysis engines;
carrying out standardized processing on the output of different source code analysis engines to obtain unified XML style standards and data organization standards;
the pretreatment step comprises the following steps: defining a processing flow irrelevant to a source code language, and performing rule expansion meeting the processing flow;
the comparison judging step comprises the following steps: defining a processing flow irrelevant to a source code language, and performing rule expansion meeting the processing flow to realize the maximum matching of a standard grammar tree in the same level;
the process of calculating the maximum matching sequence comprises the following steps:
step 1, reversely inquiring a matching item in a sequence B by using the last element of the sequence A, marking the maximum matching as 1, and dividing the sequence B into two subsequences according to the matching position: BX1, BX2;
step 2, reversely matching on two sequences BX1 and BX2 respectively by using the previous element, if a matching item is found, marking that the maximum matching of the matching point on the BX1 sequence is 2, the maximum matching of the matching point on the BX2 sequence is 1, and dividing the B sequence into sub-sequences BX1, BX2 and BX3, wherein the core is dividing the B sequence into sub-sequences with different grades;
step 3, respectively carrying out step 2 on the previous element in sequence;
wherein BX1 is a sequence before a matching point, BX2 is a sequence after the matching point, and BX3 subsequence is a sequence after the largest matching point 1;
the process for judging the correctness of the source code analysis engine according to the matching degree comprises the following steps:
step one: initializing a B set group as an empty set;
step two: marking the maximum match of the B sequences as 0, and adding the B sequences to a B set group;
step three: marking the last node of A as the current node;
step four: acquiring a current node A, judging whether the current node is effective, and if so, performing back-to-front matching on each sequence in the set B; otherwise, ending the flow;
step five: judging whether the matching is successful, if so, splitting the matching sequence into two sequences, wherein the sequence before the matching node and the sequence after the matching node are matched, the maximum matching marks of the two sequences are respectively the maximum matching of the current sequence and +1, the maximum matching of the current sequence, deleting the current sequence, and adding a new splitting sequence; otherwise, setting a node before the current point of the A sequence as the current node;
step six: and returning to the fourth step, and continuing to execute until all nodes in the A sequence are traversed.
4. The method for testing the results of source code analysis based on multiple development languages according to claim 3, wherein the definition is based on extended rules including transparentization, filtering, sorting and node name modification.
CN202110644989.XA 2021-06-09 2021-06-09 Source code analysis result testing method and system based on multiple development languages Active CN113391815B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110644989.XA CN113391815B (en) 2021-06-09 2021-06-09 Source code analysis result testing method and system based on multiple development languages

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110644989.XA CN113391815B (en) 2021-06-09 2021-06-09 Source code analysis result testing method and system based on multiple development languages

Publications (2)

Publication Number Publication Date
CN113391815A CN113391815A (en) 2021-09-14
CN113391815B true CN113391815B (en) 2023-11-21

Family

ID=77620225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110644989.XA Active CN113391815B (en) 2021-06-09 2021-06-09 Source code analysis result testing method and system based on multiple development languages

Country Status (1)

Country Link
CN (1) CN113391815B (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101286132A (en) * 2008-06-02 2008-10-15 北京邮电大学 Test method and system based on software defect mode
CN104391730A (en) * 2014-08-03 2015-03-04 浙江网新恒天软件有限公司 Software source code language translation system and method
CN106970819A (en) * 2017-03-28 2017-07-21 清华大学 A kind of c program code specification check device based on the regular description languages of PRDL
CN108595952A (en) * 2018-03-30 2018-09-28 全球能源互联网研究院有限公司 A kind of detection method and system of electric power mobile application software loophole
CN111062038A (en) * 2019-11-23 2020-04-24 同济大学 Intelligent contract formalization verification system and method based on state space
CN111506314A (en) * 2020-04-08 2020-08-07 网易(杭州)网络有限公司 Project development method, device, server and medium
CN111813380A (en) * 2019-04-29 2020-10-23 厦门雅基软件有限公司 Coloring data processing method and device based on game engine and electronic equipment
CN112905232A (en) * 2021-02-05 2021-06-04 中国海洋大学 Program code parallel corpus mining method and system based on syntax analysis tree

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8418135B2 (en) * 2007-05-31 2013-04-09 Red Hat, Inc. Method and apparatus to abstract away rule languages
US9928040B2 (en) * 2013-11-12 2018-03-27 Microsoft Technology Licensing, Llc Source code generation, completion, checking, correction

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101286132A (en) * 2008-06-02 2008-10-15 北京邮电大学 Test method and system based on software defect mode
CN104391730A (en) * 2014-08-03 2015-03-04 浙江网新恒天软件有限公司 Software source code language translation system and method
CN106970819A (en) * 2017-03-28 2017-07-21 清华大学 A kind of c program code specification check device based on the regular description languages of PRDL
CN108595952A (en) * 2018-03-30 2018-09-28 全球能源互联网研究院有限公司 A kind of detection method and system of electric power mobile application software loophole
CN111813380A (en) * 2019-04-29 2020-10-23 厦门雅基软件有限公司 Coloring data processing method and device based on game engine and electronic equipment
CN111062038A (en) * 2019-11-23 2020-04-24 同济大学 Intelligent contract formalization verification system and method based on state space
CN111506314A (en) * 2020-04-08 2020-08-07 网易(杭州)网络有限公司 Project development method, device, server and medium
CN112905232A (en) * 2021-02-05 2021-06-04 中国海洋大学 Program code parallel corpus mining method and system based on syntax analysis tree

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
RASCAL: A Domain Specific Language for Source Code Analysis and Manipulation;P. Klint 等;《2009 Ninth IEEE International Working Conference on Source Code Analysis and Manipulation》;168-177 *
基于GCC的抽象语法树对C++源程序结构的分析;王相懂 等;《计算机工程与应用》;第42卷(第23期);97-99, 105 *

Also Published As

Publication number Publication date
CN113391815A (en) 2021-09-14

Similar Documents

Publication Publication Date Title
US11221832B2 (en) Pruning engine
CN109684838B (en) Static code auditing system and method for Ether house intelligent contract
Shatz et al. A Petri net framework for automated static analysis of Ada tasking behavior
CN109857641A (en) The method and device of defects detection is carried out to program source file
CN116450616A (en) General heterogeneous relational database SQL migration method based on parse tree
CN114185769A (en) Software defect prediction method and terminal based on bidirectional long-short term memory neural network
CN114547619B (en) Vulnerability restoration system and restoration method based on tree
CN107122183A (en) Service code generation method and device
CN110737469B (en) Source code similarity evaluation method based on semantic information on function granularity
CN114489629A (en) Rapid development and test method based on interface document
CN111045670A (en) Method and device for identifying multiplexing relationship between binary code and source code
CN108897678B (en) Static code detection method, static code detection system and storage device
CN113391815B (en) Source code analysis result testing method and system based on multiple development languages
CN110633084B (en) Transcoding derivation method and device based on single sample
CN112905232B (en) Program code parallel corpus mining method and system based on syntax analysis tree
CN114595152A (en) NuXMV-oriented safety key system state transition diagram test case generation method
Zhong et al. An empirical study on using hints from past fixes
Grigorev et al. String-embedded language support in integrated development environment
Yu et al. Design and implementation of fault injection based on abstract syntax tree of C Program
CN114610320B (en) LLVM (LLVM) -based variable type information restoration and comparison method and system
CN113568662B (en) Code change influence range analysis method and system based on calling relation
Guillermo et al. Towards a Faster Incremental Packrat Parser
JP3584204B2 (en) Automatic source program converter
Rahman Pattern analysis of TXL programs
CN118276870A (en) Preprocessing method for resolving hardware description language codes

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
CP03 Change of name, title or address

Address after: Block 22301-985, Building 14, No. 498 Guo Shoujing Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai, March 2012

Patentee after: Shanghai Chuangjing Information Technology Co.,Ltd.

Country or region after: China

Address before: 200135 block 22301-985, building 14, No. 498, GuoShouJing Road, pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee before: VISION MICROSYSTEMS (SHANGHAI) Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address