CN105468521A - Pointer related semantic error location method based on subgraph search - Google Patents
Pointer related semantic error location method based on subgraph search Download PDFInfo
- Publication number
- CN105468521A CN105468521A CN201510796542.9A CN201510796542A CN105468521A CN 105468521 A CN105468521 A CN 105468521A CN 201510796542 A CN201510796542 A CN 201510796542A CN 105468521 A CN105468521 A CN 105468521A
- Authority
- CN
- China
- Prior art keywords
- statement
- program
- pointer
- sparql
- value
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
- Debugging And Monitoring (AREA)
Abstract
The invention provides a pointer related semantic error location method based on subgraph search. The method comprises the following steps: step (1), according to input of a failed test case, performing symbolic execution on a program, recording an execution trace of a source program under this input, each program state and an RDF file of a complex structure relevant to a pointer; step (2), according to the execution trace, reversely generating a location equation set and a SPARQL (Simple Protocol And RDF Query Language) query file for each statement in a program trace from a breakpoint where a variable value in the program is not consistent with an expected value; step (3), reversely finding out a first statement which makes the location equation set or the SPARQL query insoluble through a dichotomy, and constructing a minimal program fragment by statements between the breakpoint and statements relevant to a breakpoint variable; and step (4), a user can input an expected value of a variable in the fragment under a certain condition again, locate a program fragment where an error is located in the program fragment again, repeat this interaction process until the obtained program fragment is small enough and the error can be located accurately.
Description
Technical field
The present invention relates to a kind of robotization location of mistake method in C language process, particularly relate to a kind of mainly for the semantic relevant error of pointer, based on the robotization location of mistake method of subgraph search.
Background of invention
According to statistics, in the software systems using pointer and Dram, the software fault of 50% is relevant with the management of pointer and Dram.Research at present for pointer error location is mainly divided into two aspects: be the research to Pointer Analysis Algorithm on the one hand, and the memory address collection being mainly used to determine that a pointer may point to or one piece of internal memory may be collected by the another name operated.Because such analysis is normally not confirmable, therefore existing Pointer Analysis Algorithm is similar to often.On the other hand, the pointer error of some pointer analysis instrument Main Analysis particular types, as the hidden danger of the secure contexts such as null pointer dereference, RAM leakage, pointer no initializtion.At present, the correlative study for the localization method of the semantic error of pointer is less.
In large-scale C/C++ program, especially to scheme and in the labyrinth such as tree, the application of pointer is very extensive.And in this labyrinth, once there is mistake, often need manual debugging, and inefficiency.
Summary of the invention
Technology of the present invention is dealt with problems: overcome the deficiencies in the prior art, a kind of pointer based on subgraph search is provided to be correlated with semantic location of mistake method, it to be correlated with the automatic location of semantic error by the pointer realized in the labyrinths such as tree or figure according to the method for subgraph search, compared to traditional alias analysis algorithm, there is higher accuracy.
Technical solution of the present invention: a kind of pointer based on subgraph search is correlated with semantic location of mistake method, it is characterized in that step is as follows:
(1) according to the input of the test case of failure, semiology analysis is carried out to program, the execution track of record source program under this input, the RDF file of the labyrinth that each program state is relevant with pointer;
(2) according to execution track, the breakpoint that value and the expectation value of variable is inconsistent from program, oppositely to each statement generation positioning equation group in program track and SPARQL (simple protocol and RDF query language) inquiry file;
(3) oppositely found first statement that positioning equation group or SPARQL inquiry nothing are separated by dichotomy, constitute a minimum usability of program fragments by the statement relevant to breakpoint argument breakpoint to this statement;
(4) the usual scope of usability of program fragments that arrives of one-time positioning is larger, user can input the desired value of variable under certain state in fragment again, the usability of program fragments at Wrong localization place again in this usability of program fragments, constantly repeat this reciprocal process, until the usability of program fragments obtained is enough little, accurately mistake can be navigated to.
According to a further aspect of the invention, wherein step (1) comprises step further:
A (), according to statement type, comprises assignment statement, sequential statement, conditional statement, loop statement and dummy statement, adopt different operational semantics generate rule to perform track;
B the labyrinths such as tree or figure are converted to the RDF file represented in xml form by ();
According to a further aspect of the invention, wherein step (2) comprises further:
A () judge whether operate containing pointer variable in current statement, if had, turn to (b), if do not had, turn to (c);
B (), according to the type of current statement, adopt different operating semantic for this statement generates new SPARQL inquiry, the positioning equation group of this statement does not upgrade, identical with the positioning equation group of the rear statement performed in track;
C (), according to the type of current statement, adopts different operating semantic, comprises state initialization, assignment statement, conditional statement, loop statement, input, for this current statement generates new positioning equation group, the SPARQL inquiry of this current statement does not upgrade.
According to a further aspect of the invention, wherein step (3) comprises further:
A () uses Z3 solver to judge whether positioning equation group has solution; Z3 is a solver that can carry out efficient calculation for the satisfiability theory of modules (translator of Chinese of SMT) problem of Microsoft's research and development, be widely used in software verification and software analysis field, we use the dynamic link library of Z3 to realize solving equations;
B () uses ApacheJenaAPI to generate the plug-in unit solving SPARQL inquiry, using RDF file and SPARQL file as input, solve the subgraph whether existing in RDF and meet and retrain in SPARQL, if there is no, then indicates without separating.ApacheJena is a Java framework of increasing income, and for setting up semantic net and associated data application, which provides the relevant interface supporting SPARQL inquiry.
The present invention's advantage is compared with prior art: the present invention considers the location of mistake that C language pointer semanteme is relevant, the pointer realized by the method for subgraph search in the labyrinths such as tree or figure is correlated with the automatic location of semantic error, compared to traditional alias analysis algorithm, there is higher accuracy.
Accompanying drawing explanation
Fig. 1 is algorithm basic flow sheet of the present invention;
Fig. 2 is the processing flow chart of pointer assignment statement of the present invention;
Fig. 3 is conditional statement processing flow chart of the present invention;
Fig. 4 is analog node of the present invention access statement processing flow chart.
Embodiment
Below with reference to the accompanying drawings, embodiments of the invention are described in detail.
First algorithm principle of the present invention is described.
The formal basic ideas of debugging are in function: when the test case of a failure has appearred in program, according to the program input and output of user's expection, find out and expect the minimum usability of program fragments of contradiction with user from program.If this usability of program fragments is still larger, then by continuous and user interactions, allow user mark wherein correct statement or allow user provide variable desired value under certain conditions in fragment further, the information utilizing these new reduces the scope of statement fragment, until finally navigate to a mistake in program.
Specifically, innovatory algorithm basic procedure proposed by the invention as shown in Figure 1.
The core concept that the present invention mainly comprises: according to execution track and the expectation value of program, be reversed every bar perform statement and generate positioning equation group and SPARQL inquiry, the restriction relation between common variables is represented mainly through positioning equation group, the dependence between pointer is represented with SPARQL inquiry, by solving positioning equation group and SPARQL inquiry obtains Article 1 without the statement separated, thus infer the minimum usability of program fragments comprising mistake.
Variable and method is first defined as follows before description algorithm:
1. set state σ as state when statement S performs, use k-tuple
represent, wherein
represent variable x
ivalue be n
i;
2. state σ
*when have recorded as statement S generation SPARQL inquiry, the pointer variable p in program
iin SPARQL, variable r is represented to it
imapping, due to all query interfaces of SPARQL grammatical norm be with question mark beginning character string, therefore need this pointer state table to map.
p
i→r
i,i∈N,PV={p
1,…,p
k},AD={r
1,…,r
k};
The set of pointer variable relevant in PV representation program, AD represents the variables collection that these pointer variables map in SPARQL inquiry.P
i→ r
irepresent pointer variable p
ir is used in SPARQL inquiry
irepresent.
3. make S be the head statement of an if statement or while statement, as if (b), σ be statement S perform time state, two tuple <S, σ > is called as a B-environment.Represent B-environment stack with ε, wherein each element is a B-environment;
4. tlv triple <S, σ, σ
*, ε > is a S
*-structure, π is track stack, and in π, each element is S
*-structure, T-structure is defined as π | <S, σ, σ
*, ε >.
5.rq stores SPARQL query statement, eq store location system of equations, relevant information tlv triple (rq, eq, <S, σ, the σ of every bar perform statement S
*, ε >) represent, ρ
*be one by tlv triple (rq, eq, <S, σ, σ
*, ε >) and the list of structure composition, store the SPARQL inquiry and positioning equation group that perform all statements in track.
Arthmetic statement of the present invention is as follows, as Fig. 1:
1. perform the generation that track and RDF file wherein perform track follow following operational semantics for source program of makeing mistakes generate:
(a) assignment statement: x=e, the value of calculation expression e under the state σ of current statement, and by the value of x in this value more new state σ, by S corresponding for current statement
*in-structure press-in track stack π;
(b) sequential statement: if S
1and S
2for adjacent sequential statement, then according to statement type, to S
1carry out semiology analysis;
(c) if statement: if (b) { S
1; Else{S
2; By S corresponding for current statement
*in-structure press-in track stack π; The value of conditional expression b under calculating current statement state σ, if very, is then pressed in environment stack ε by conditional statement head if (b) and true value true thereof, next to S
1statement body carries out Track Pick-up; If false, then conditional statement head if (b) and true value false thereof are pressed in environment stack ε, next to S
2statement body carries out Track Pick-up.
(d) while statement: while (b) { S; By S corresponding for current statement
*in-structure press-in track stack π; The value of conditional expression b under calculating current statement state σ, if true, then conditional statement head while (b) and true value true thereof are pressed in environment stack ε, next Track Pick-up is carried out to S statement body, when executing the last item statement of S statement body, check the statement type of environment stack top, if loop statement, then repeat this process; If false, then conditional statement head while (b) and true value false thereof be pressed in environment stack ε, next Track Pick-up carried out to the statement after this circulation.
The generation method of RDF file is as follows: if there is the labyrinths such as tree or figure in program, be then expressed as the RDF file of XML (extend markup language) form.Each node <rdf:Description> label is described, and each attribute of node can be described with the subtab under a <rdf:Description>.
2., according to execution track, the breakpoint that value and the expectation value of variable is inconsistent from program, oppositely to each statement generation positioning equation group in program track and SPARQL inquiry file.Different according to statement type, have and operate semantic rules as follows:
(a) original state: if breakpoint statement is pointer correlative, the expectation value of access node r is w, then does is the initial value of rq <? x, value, w>, σ
*content be <r,? does x>, represent that pointer r uses symbol in SPARQL inquiry? x represents,? the value of x should be w, and the initial value of eq is empty; If breakpoint statement does not relate to pointer, then the initial value of rq is empty, and the initial value of eq is that { y=n}, when representation program stops, the expectation value of certain variable y is n.To sum up, ρ
*initial value be [(rq, eq, <skip, σ
*, (), [] >)]
.
(b) assignment statement: if the form of pointer assignment p=w, then process by the flow process described in Fig. 2.Due to σ
*in only need store the expression symbol of pointer expression formula first prefix in SPARQL, first obtain the first prefix p' of pointer expression formula p, first prefix of such as pointer expression formula q → left → left is q, if σ
*in there is p', then this statement is correlative, first by the topology update of expression formula p in rq, according to w more new state σ
*, and the points relationship of p and w is represented in rq.Does is the structure of supposing expression p finally expressed as symbol in rq? first prefix of x_i, w is at σ
*in be mapped as? x_w.There are following two kinds of situations, namely does is first prefix of w still w, then by all symbols in rq if w is single pointer variable? does is x_i updated to? x_w; If w is k layer expression formula, then first just the expression of its k-1 Rotating fields is updated in rq, then by kth layer with? the relation of x_i joins in rq.If σ
*in there is not p', then this statement is irrelevant statement, skips.If current statement is the non-pointer assignment statement of x=e form, if x occurs in eq, then this statement is correlative, and all x occurred in the equation of eq are replaced with e; Otherwise this assignment statement is not the statement causing result inconsistent with expection, can skip.
C () conditional statement and loop statement: if (b)/while (b), processes by describing flow process in Fig. 3, specific as follows:
1) associated row is determined whether.If this conditional statement, as the outer environment of its substatement, is marked as correlative, then this statement is labeled as associated row.Otherwise, judge whether that the variable that there is the impact of this conditional statement is the variable affecting result simultaneously, be if there is no then labeled as irrelevant row, exit, otherwise be labeled as associated row, carry out step 2);
2) conditional statement is split as with or operate the sub-condition separated, be divided into three set, in A, deposit the sub-condition only comprising common variables, in B, deposit the sub-condition only comprising pointer, deposit in C comprise pointer and common variables combination sub-condition.Such as statement if (p → value>3 & & top<0||q → value>top), then deposit sub-condition top<0 in set A, deposit in B in sub-condition p → value>3, C and deposit sub-condition q → value>top.If B and C is sky, illustrate not containing pointer, then by equation b=[b]
σadd in eq, wherein [b]
σrepresent the true value of conditional expression b under state σ, terminate.Otherwise calculate all subconditional true value combinations meeting this statement true value, suppose that this conditional statement is false, then sub-condition true value combination has 3 kinds ([0,0,0], [0,1,0], [1,0,0]), often kind of true value combination carry out step 3) operation;
3) each sub-condition in B added in the FILTER statement in rq, the pointer variable in C adds in rq tlv triple, forms new rq inquiry file.For example, σ is supposed with [0,0,0]
*does is middle p mapped as? do are x_i, q mapped as? x_j, then by tlv triple <? does is x_i≤3> added in the FILTER of rq, by tlv triple <? x_jvalueZ> adds in rq.Solve this rq file, if there is solution, resolve the value of each pointer variable in rq solution in C, replace subconditional pointer variable in C by corresponding value, make no longer to comprise pointer in each sub-condition in C, when having many class values with or operate and connect.Such as, C pointer variable only has q → value herein, suppose that in rq solution, q → value has two groups of solution a and b, sub-condition q → value>top after then replacing in C becomes a>top||b>top, if also have another sub-condition T in C, its true value is V, then two sub-conditions finally should replace with sub-condition a>top & & TV (a) || b>top & & TV (b), TV (a) represents that sub-condition T is V and the representation of T under the prerequisite of q → value=a in true value.All sub-conditions in sub-condition after replacing in C and A added in positioning equation group eq, this sentences [0,0,0] be example, need a≤top & & b≤top and top >=0 to add in eq, if system of equations has solution, then the combination of this true value is remained in Q;
4) all true value combined authentication complete after, if Q is empty, illustrate that the combination of all true value all can not meet the true value of this condition, then this conditional statement is without solution, the all statements performed before meaning this statement all should without solution, for reducing calculated amount, will forever add in eq by false equation 0>1, to guarantee to perform in track before current statement is performed perform statement without the need to carrying out processing also all without separating.If Q is not empty, the sub-condition in well-determined for true value in Q A or B is added in rq or eq.After supposing to execute, in Q, there are two groups of true value combinations [0,0,0] and [0,1,0], then illustrate that the sub-condition p → value>3 perseverance in B is false, then by tlv triple <? x_i≤3> is added in the FILTER of this statement rq.Sub-condition top<0 true value in A temporarily cannot be determined, so can not join in eq, although the sub-condition q → value>top in C can determine that true value perseverance is 0, also comprised common variables because it has both comprised pointer, temporarily do not process.
D () analog node access statement: by flow processing described in Fig. 4, uses the form simulation of a=p → value to the access of node p.Particular variables a is used to store the unique identification attribute value of access node.If current statement is breakpoint statement, then p and mapping thereof are added σ
*in, its expectation value is added in rq, otherwise upgrades the value of the value attribute of p in rq by the actual identification value of p under state σ.
E () inputs: for the situation not comprising pointer, by the system of equations eq ∪ { x of reflection program input
1=m
1... x
k=m
kbe added to ρ
*end; For the situation comprising pointer, the value value of the unique identification attribute of head node is added in rq.
3. oppositely being found by dichotomy makes positioning equation group or SPARQL inquiry without first statement separated, constitute a minimum usability of program fragments by the statement relevant to breakpoint argument breakpoint to this statement, concrete method for solving is: use Z3 solver to judge whether positioning equation group has solution; Use the relevant interface that provides of ApacheJena to generate the plug-in unit solving SPARQL inquiry, using RDF file and SPARQL file as input, solving the subgraph whether existing in RDF and meet and retrain in SPARQL, if there is no, then indicating without separating.
4. the usual scope of usability of program fragments that arrives of one-time positioning is larger, user can input the desired value of variable under certain state in fragment again, the usability of program fragments at Wrong localization place again in this usability of program fragments, constantly repeat this reciprocal process, until the usability of program fragments obtained is enough little, accurately mistake can be navigated to.
The algorithm of the present invention difference maximum to additional error localization method is: can process and set or semantic error that the labyrinth pointer such as figure is relevant, for the dependence between pointer, the another name set of Maintenance free pointer, expense is little, and accuracy is high.Apparently can draw other advantages and amendment for the person of ordinary skill of the art.Therefore, the present invention with more extensive areas is not limited to shown and described illustrating and exemplary embodiment here.Therefore, when not departing from the spirit and scope of the general inventive concept defined by claim and equivalents thereof subsequently, various amendment can be made to it.
Claims (4)
1. to be correlated with a semantic location of mistake method based on the pointer of subgraph search, to it is characterized in that step is as follows:
(1) according to the input of the test case of failure, semiology analysis is carried out to program, the execution track of record source program under this input, the RDF resource description framework file of the labyrinth that each program state is relevant with pointer;
(2) according to execution track, the breakpoint that value and the expectation value of variable is inconsistent from program, oppositely generates positioning equation group and SPARQL inquiry file to each statement in program track, and SPARQL is a kind of special query language for RDF form;
(3) oppositely found first statement that positioning equation group or SPARQL inquiry nothing are separated by dichotomy, constitute a minimum usability of program fragments by the statement relevant to breakpoint argument breakpoint to this statement;
(4) the usual scope of described minimum usability of program fragments that arrives of one-time positioning is too large, user inputs the desired value of variable under certain state in described minimum usability of program fragments again, the usability of program fragments at Wrong localization place again in this minimum usability of program fragments, user constantly repeats this reciprocal process, until can determine the reason of mistake from the minimum usability of program fragments obtained.
2. the pointer based on subgraph search according to claim 1 is correlated with semantic location of mistake method, it is characterized in that: described step (1) comprises further:
A (), according to statement type, comprises assignment statement, sequential statement, conditional statement, loop statement and dummy statement, adopt different operational semantics generate rule to perform track;
B tree or figure labyrinth are converted to the RDF file represented with XML extend markup language form by ().
3. the pointer based on subgraph search according to claim 1 is correlated with semantic location of mistake method, it is characterized in that: described step (2) comprises further:
A () judge whether operate containing pointer variable in current statement, if had, turn to (b), if do not had, turn to (c);
B (), according to the type of current statement, adopt different operating semantic for this statement generates new SPARQL inquiry, the positioning equation group of this statement does not upgrade, identical with the positioning equation group of the rear statement performed in track;
C (), according to the type of current statement, adopts different operating semantic, comprises state initialization, assignment statement, conditional statement, loop statement, input, for this current statement generates new positioning equation group, the SPARQL inquiry of this current statement does not upgrade.
4. the pointer based on subgraph search according to claim 1 is correlated with semantic location of mistake method, it is characterized in that: described step (3) comprises further:
A () uses Z3 solver to judge whether positioning equation group has solution;
B () uses ApacheJena to generate the plug-in unit solving SPARQL inquiry, using RDF file and SPARQL file as input, solve the subgraph whether existing in RDF and meet and retrain in SPARQL, if there is no, then indicates without separating.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510796542.9A CN105468521B (en) | 2015-11-18 | 2015-11-18 | A kind of semantic location of mistake method of pointer correlation based on subgraph search |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510796542.9A CN105468521B (en) | 2015-11-18 | 2015-11-18 | A kind of semantic location of mistake method of pointer correlation based on subgraph search |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105468521A true CN105468521A (en) | 2016-04-06 |
CN105468521B CN105468521B (en) | 2018-01-19 |
Family
ID=55606252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510796542.9A Expired - Fee Related CN105468521B (en) | 2015-11-18 | 2015-11-18 | A kind of semantic location of mistake method of pointer correlation based on subgraph search |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105468521B (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109814924A (en) * | 2019-01-28 | 2019-05-28 | 华东师范大学 | A kind of software complexity calculation method |
CN112286824A (en) * | 2020-11-18 | 2021-01-29 | 长江大学 | Test case generation method and system based on binary search iteration and electronic equipment |
CN113836001A (en) * | 2021-08-20 | 2021-12-24 | 阿里云计算有限公司 | Code detection method, device and storage medium |
CN116361182A (en) * | 2023-04-03 | 2023-06-30 | 南京航空航天大学 | Symbol execution method for error state guidance |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110078507A1 (en) * | 2009-09-29 | 2011-03-31 | Hyundai Motor Company | Operational system test method |
CN103019943A (en) * | 2013-01-04 | 2013-04-03 | 北京航空航天大学 | Software error positioning method catering to rare case of failed test cases |
CN104156308A (en) * | 2014-07-29 | 2014-11-19 | 南京大学 | Mobile application testing method on basis of playback of execution trace of users |
-
2015
- 2015-11-18 CN CN201510796542.9A patent/CN105468521B/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110078507A1 (en) * | 2009-09-29 | 2011-03-31 | Hyundai Motor Company | Operational system test method |
CN103019943A (en) * | 2013-01-04 | 2013-04-03 | 北京航空航天大学 | Software error positioning method catering to rare case of failed test cases |
CN104156308A (en) * | 2014-07-29 | 2014-11-19 | 南京大学 | Mobile application testing method on basis of playback of execution trace of users |
Non-Patent Citations (1)
Title |
---|
罗杰 等: "一个在Horn子句中求解极大缩减的算法", 《中国科学:信息科学》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109814924A (en) * | 2019-01-28 | 2019-05-28 | 华东师范大学 | A kind of software complexity calculation method |
CN109814924B (en) * | 2019-01-28 | 2020-10-02 | 华东师范大学 | Software complexity calculation method |
CN112286824A (en) * | 2020-11-18 | 2021-01-29 | 长江大学 | Test case generation method and system based on binary search iteration and electronic equipment |
CN112286824B (en) * | 2020-11-18 | 2022-08-02 | 长江大学 | Test case generation method and system based on binary search iteration and electronic equipment |
CN113836001A (en) * | 2021-08-20 | 2021-12-24 | 阿里云计算有限公司 | Code detection method, device and storage medium |
CN116361182A (en) * | 2023-04-03 | 2023-06-30 | 南京航空航天大学 | Symbol execution method for error state guidance |
CN116361182B (en) * | 2023-04-03 | 2023-12-05 | 南京航空航天大学 | Symbol execution method for error state guidance |
Also Published As
Publication number | Publication date |
---|---|
CN105468521B (en) | 2018-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9600507B2 (en) | Index structure for a relational database table | |
CN102541521B (en) | Automatic operating instruction generating device based on structured query language and method | |
CN104881285B (en) | Code snippet mark and reuse system based on body | |
CN105335412A (en) | Method and device for data conversion and data migration | |
CN103473224B (en) | Problem semantization method based on problem solving process | |
CN109740122A (en) | The conversion method and device of mind map use-case file | |
CN104662513A (en) | Method and system for automated improvement of parallelism in program compilation | |
CN104503816A (en) | System for automatically converting hardware language VHDL (Vhsic Hardware Description Language) into MSVL (Modeling, Simulation and Verification Language) | |
CN104391730A (en) | Software source code language translation system and method | |
CN105468521A (en) | Pointer related semantic error location method based on subgraph search | |
CN106874163B (en) | Method and system for displaying software error code information | |
CN109460220A (en) | The predefined code generating method of message, device, electronic equipment and storage medium | |
CN102968369B (en) | Method and system for automatically generating dynamic breakpoints | |
CN104391796A (en) | Method for parsing test cases | |
CN103914379A (en) | Automatic fault injection and fault detecting method and system | |
CN106202450A (en) | A kind of source code relied on based on makefile file analyzes method | |
CN112256698A (en) | Automatic table relation association method based on multi-Hash function | |
CN111984745A (en) | Dynamic expansion method, device, equipment and storage medium for database field | |
CN108664238A (en) | A kind of execution method and device of explanation type script C-SUB | |
CN110309214A (en) | A kind of instruction executing method and its equipment, storage medium, server | |
CN105843661B (en) | A kind of code method for relocating and its system towards host system | |
CN106776275A (en) | A kind of testing process automatic generation method based on Packet Multiplexing | |
CN103902651A (en) | Cloud code query method and device based on MongoDB | |
WO2022224597A1 (en) | Facility id inference method and facility id inference device | |
Zhang et al. | Automatic extraction rules generation based on xpath pattern learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180119 Termination date: 20191118 |
|
CF01 | Termination of patent right due to non-payment of annual fee |