CN106095663A - Program based on hierarchical model returns location of mistake method - Google Patents
Program based on hierarchical model returns location of mistake method Download PDFInfo
- Publication number
- CN106095663A CN106095663A CN201610368555.0A CN201610368555A CN106095663A CN 106095663 A CN106095663 A CN 106095663A CN 201610368555 A CN201610368555 A CN 201610368555A CN 106095663 A CN106095663 A CN 106095663A
- Authority
- CN
- China
- Prior art keywords
- statement
- track
- program
- jump
- correspondence
- 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
-
- 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/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test 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)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
The present invention proposes a kind of program based on hierarchical model and returns location of mistake method, at program pretreatment stage, by two version program source codes of contrast, identifies different piece, resets source code according to recognition result;In the track correspondence stage, according to the dependence performed between track, statement and the variable value information of two version programs got, two statements performed on track are carried out correspondence, classification;In the slice analysis stage, performing failed point from redaction program is that starting point proceeds by slice analysis;According to statement entity classification and dependence thereof, backtracking causes program to perform failed statement entity, until dependence statement to be analyzed is empty, and analyzed current statement needs not continue to analyze its dependence;Finally, using all for the stage of slice analysis analyzed statement entities as causing the program behavior section returning mistake to export.This method illustrates the mechanism of production returning mistake, and the reparation to returning mistake has directive function.
Description
Technical field
The present invention relates to trusted software and software test field, particularly to the location side returning mistake in a kind of program
Method.
Background technology
Software test is for ensuring that the basic means of software quality, and is also labor intensive in software development process
Process with material resources.Experience have shown that, often introducing returning mistake during software upgrading, therefore carrying out regression test is
It is highly desirable to.Even if making regression tested process become automatization now with many technology, but regression test being only
The simply first step in software test procedure.And more important and challenging task is to find to cause program to perform failure
Modification of program, and provide these what is revised as program can be caused to perform failed context environmental.But, this process is also
Remarkable.First, along with program becomes to become increasingly complex, return mistake and always occur among specific environment or configuration.The
Two, due to time and the restriction of manpower, it is typically only capable to obtain a test cases.This test cases can in legacy version program
Successful execution, and perform failure in redaction program.3rd, it is to be difficult to obtain that program performs accurate context environmental unsuccessfully
's.Only tester can understand program and perform failed context environmental, and they can be accurate according to these information
Repair mistake.
In recent years, many technology about recurrence error checking are suggested, such as ADD (Augmented Delta
And AFTER (Automated Fault Explanation for Regression testing) Debugging).ADD passes through
The isolation debugging automatization in conjunction with covering analyzing and Delta causes program to perform failed amendment.But, ADD does not analyze
The semanteme of program, the dislocation therefore positioned may only only avoid program and perform unsuccessfully and and non-real mistake.AFTER
Dynamically analysis and semantic analysis based on symbolic analysis of based on Delta debugging is utilized to position recurrence mistake.The master of AFTER
Wanting problem is its ductility.It is known that symbolic analysis is the process that an expense is huge, therefore it is difficult to be applied to
Extensive program.Even if these technology the location of automatization can cause program to perform failed modification of program, seldom by reality
Border is applied, and causes program to perform failed context environmental because they are not provided that.In the middle of existing technology, one universal
The hypothesis accepted is why tester can perform failure by prehension program easily.It is true that program is performed the most former
The understanding of cause is remarkable, and therefore prior art is little to repairing the help returning mistake.
Therefore, a practical location of mistake technology that returns not only needs to be accurately positioned the amendment causing mistake, also wants energy
This amendment is provided to cause program to perform failed context environmental.
Summary of the invention
It is an object of the invention to propose a kind of program based on hierarchical model and return location of mistake method, by two
Version program carries out slice analysis, and output causes program to return the program behavior section of mistake, returns mistake in settlement procedure test
The problem of location by mistake.
To achieve these goals, the present invention adopts the following technical scheme that
Program based on hierarchical model returns location of mistake method, comprises the steps:
S1), according to two the version programs to be measured inputted, the difference of two version program source codes, root are calculated
According to the difference of source code, the source code of two version programs is reset so that identical code has identical line number, different codes
Corresponding with null;
S2), revision program can be caused to perform failed test case with two program execution after code reordering
Example, and extract two version programs perform track, variate-value that statement comprises and the dependence of statement;
S3), execution trajectory set being made into tree structure, each node of tree is that a function performs sequence;Call track
Function body statement corresponding method, to step S2) in the execution track of two version programs that extracts carry out correspondence;
S4) variate-value that difference, track correspondence result and the statement, according to source code comprises, by the statement in track
It is divided into four classes: amendment causes different statement, flows different statement, is worth different statements and consistent statement;
S5), with redaction program perform failed point to start the generation returning mistake is carried out slice analysis for starting point, will lose
Lose point statement and add slice analysis queue;
S6), judge whether slice analysis queue is empty, the most then jump to step S9), otherwise jump to step S7);
S7), take out slice analysis queue head end statement, and judge head end statement the need of carrying out slice analysis, if not
Need to be analyzed, jump to step S6), otherwise jump to step S8);
S8), by present analysis statement add return erroneous slice, and according to step S4) in statement classification needed into
Dependence statement and the corresponding statement of row slice analysis add slice analysis queue;
S9), output regression erroneous slice.
Further improvement of the present invention is, described step S1) in the process of code reordering comprise the following steps:
S101), according to the source code of two version programs, the difference of two version program source codes is calculated;
S102), according to the difference of two version program source codes calculated, by two version program source codes
Every statement be divided into two classes: identical statement, the statement of amendment;
S103), on the basis of not reprogramming program executing sequence, identical statement is made to have identical row
Number, the statement of amendment is corresponding with null;
S104) two version program's source codes to be measured after, output code is reset are as new program to be measured.
Further improvement of the present invention is, step S3) in perform the tree structure of track and be defined as follows: each in tree
Individual node is the execution track of a function body, is called in the function body that the child node of a node is stated by this node
The execution track of function body;Step S3) in proceed by lopcus function from the root node (main function body track) of tree structure
Body statement is corresponding, specifically includes following steps:
S301), judge whether the statement needing to carry out correspondence in current corresponding function body is empty, the most then function body
Statement corresponding method performs to terminate to return, and otherwise jumps to step S302);
S302) statement during, iteration takes out function body is as the statement currently carrying out correspondence;
S303), judge whether current corresponding statement is function call statement, if function call statement then jumps to step
S304), step S306 is otherwise jumped to);
S304), judge whether this function call has the function call of correspondence in corresponding track, if there being respective function to call
Then jump to step S305), otherwise jump to step S301);
S305), call function body statement corresponding method carries out correspondence, after performing to terminate to the statement in this function body track
Jump to step S301);
S306), judging whether current statement has the statement of correspondence in corresponding track, if there being corresponding statement, jumping to step
Rapid S307), otherwise jump to step S301);
S307), current statement is carried out corresponding with the corresponding statement in corresponding track, after terminating, jump to step S301).
Further improvement of the present invention is: step S4) in the strategy of statement classification be, according to step S102) in source code
All statements in track are divided into following four classes by the variable value information that statement classification, track correspondence result and statement comprise:
(1) amendment causes different statements: the statement of amendment.
(2) flow different statements: the statement of non-amendment, and there is no corresponding statement in corresponding track;
(3) statement that value is different: have the statement of correspondence in two tracks, and the variate-value that comprises of statement at least one not
With;
(4) consistent statement: have the statement of correspondence in two tracks, and the variate-value that statement comprises is the most identical;
Its classification process comprises the following steps:
S401), the statement all classification the most that judges in track, if all classification, jump to step S407), no
Then jump to step S402);
S402), iteration take out non-classified statement in track, it is classified;
S403), according to the classification of source code, it is judged that whether this statement is the statement revised, if the statement of amendment is then marked
It is designated as revising and causes different statements and jump to step S401), otherwise jump to step S404);
S404), according to track correspondence result, it is judged that whether this statement has corresponding statement, if there is no corresponding statement, should
Statement is labeled as flowing different statements and jumping to step S401), otherwise jump to step S405);
S405), the variable value information comprised according to statement, it is judged that whether this statement and the variate-value comprised in corresponding statement
Identical, if differed including at least a variate-value, it is labeled as being worth different statements and jumping to step by this statement
S401), step S406 is otherwise jumped to);
S406), this statement it is labeled as consistent statement and jumps to step S401);
S407) statement classification, in track terminates, and returns.
The present invention's and further improvement is that: step S7) in statement the need of the criterion carrying out slice analysis
Be: if this statement has been analyzed or has belonged to step S4) in consistent statement, be made without slice analysis, otherwise need
Slice analysis to be carried out.
Further improvement of the present invention is: step S8) in need the analysis strategy carrying out the statement of slice analysis to be, right
In step S4) statement that intermediate value is different, only the corresponding statement in its data dependence statement and corresponding track is added slice analysis
Queue;For flowing different statements, only controlled to rely on statement and added slice analysis queue;Cause not for being categorized as amendment
Same statement, then controlled to rely on all to add slice analysis queue with data dependence statement.Step S8 simultaneously) in analyze work as
Front statement needs to add and returns in erroneous slice.
Relative to prior art, the present invention has the advantages that the present invention proposes one based on hierarchical model
Program return location of mistake method, by two version programs being carried out slice analysis, output cause program return mistake
Program behavior is cut into slices, the problem returning location of mistake in settlement procedure test.At program pretreatment stage, the method is by contrast
Two version program source codes, identify its different part, reset the source code of two version programs according to recognition result,
On the premise of not affecting program code execution sequence so that in two version programs, the most corresponding code has identical row
Number;In the track correspondence stage, according to the dependence performed between track, statement and the variate-value of two version programs got
Two statements performed on track are carried out correspondence, and classify statement according to track correspondence result by information;In section point
The analysis stage, with program control rely on, data dependence and statement be categorized as basis, performing failed point from redaction program is
Starting point proceeds by slice analysis;According to statement entity classification and dependence thereof, backtracking causes program to perform failed statement
Entity, until dependence statement to be analyzed is empty, and analyzed current statement needs not continue to analyze its dependence;?
After, using all for the stage of slice analysis analyzed statement entities as causing the program behavior section returning mistake to export.Phase
The existing recurrence location of mistake method of ratio, this method illustrates the mechanism of production returning mistake, and the reparation to returning mistake has
Directive function.
Accompanying drawing explanation
Fig. 1 is the inventive method overall flow figure;
Fig. 2 is code reordering method flow diagram;
Fig. 3 is function body statement corresponding method flow chart;
Fig. 4 is the flow chart of statement classification process;
Fig. 5 is example procedure schematic diagram in explanation detailed description of the invention;
Fig. 6 is source code comparative result figure;
Fig. 7 is code reordering result figure;
Fig. 8 is track correspondence result figure;
Fig. 9 is for returning erroneous slice figure;
Figure 10 is slice analysis procedure chart.
Detailed description of the invention
Below in conjunction with example in detail embodiments of the present invention.
Referring to shown in Fig. 5, program v1 to be measured is original version, and program v2 to be measured is amended redaction.
Step S1: according to two version programs to be measured of input, calculate the difference of two version program source codes,
The source code of two version programs is reset by the difference according to source code so that identical code has identical line number, different generations
Code is corresponding with null, and flow chart is as in figure 2 it is shown, specifically include following steps:
Step S101: according to the source code of two version programs, calculate the difference of two version program source codes;
Step S102: according to the difference of two the version program source codes calculated, the statement in source code is divided into
Two classes, identical statement and the statement of amendment, the statement of amendment is marked (c1-c4), as shown in Figure 6;
Step S103: on the basis of not reprogramming program executing sequence, make identical statement have identical
Line number, the statement of amendment is corresponding with null, and code reordering result is as shown in Figure 7;
Step S104: two version program's source codes to be measured after output code rearrangement are as new program to be measured.
Step S2: revision program can be caused to perform failed test with two program execution after code reordering
Case<x=1, y=1, z=2>, that extracts two version programs performs depending on of variate-value that track, statement comprise and statement
The relation of relying;
Table 1 program performs track
Program v1 track | main#c 1 2 3 5 6 7 11 12 13mian#r |
Program v2 track | mian#c 1 2 4 8 9 11 12 13main#r |
Step S3: call lopcus function body statement corresponding method, to step S2) in the execution of two version programs extracted
Track carries out correspondence, and flow chart is as it is shown on figure 3, function body statement corresponding method:
S301) judge whether the statement needing to carry out correspondence in current corresponding function body is empty, the most then function body
Statement corresponding method performs to terminate to return, and otherwise jumps to step S302);
S302) statement during iteration takes out function body is as the statement currently carrying out correspondence;
S303) judge whether current corresponding statement is function call statement, if function call statement then jumps to step
S304), step S306 is otherwise jumped to);
S304) judge whether this function call has the function call of correspondence in corresponding track, if there being respective function to call
Then jump to step S305), otherwise jump to step S301);
S305) call function body statement corresponding method and the statement in this function body track is carried out correspondence, after performing to terminate
Jump to step S301);
S306) judging whether current statement has the statement of correspondence in corresponding track, if there being corresponding statement, jumping to step
Rapid S307), otherwise jump to step S301);
S307) current statement is carried out corresponding with the corresponding statement in corresponding track, after terminating, jump to step S301).
As a example by main function body track in two tracks, its idiographic flow includes:
Step S301:main function body need the statement of correspondence not for empty, so turning S302;
Step S302: take out the statement 1 that in program v1, main does not answers, go to step S303;
Step S303: statement 1 non-functional call statement, goes to step S306;
Step S306: in journey v1 track, main function statement 1 has main function statement 1 corresponding in program v2 track, turns
Step S307;
Step S307: main function statement 1 in two version program tracks is corresponding, and it is labeled as corresponding statement.
Repeat the above steps, until statement not corresponding in two tracks be sky, obtains track correspondence result such as Fig. 8 institute
Show.
Step S4: the variate-value comprised according to difference, track correspondence result and the statement of source code, by the language in track
Sentence is divided into four classes: amendment causes different statement, flows different statement, is worth different statements and consistent statement, its classification
Strategy is as follows:
(1) amendment causes different statements: the statement of amendment.
(2) flow different statements: the statement of non-amendment, and there is no corresponding statement in corresponding track;
(3) statement that value is different: have the statement of correspondence in two tracks, and the variate-value that comprises of statement at least one not
With;
(4) consistent statement: have the statement of correspondence in two tracks, and the variate-value that statement comprises is the most identical;
Its classification process as shown in Figure 4, specifically includes following steps:
S401) judge all classification the most of the statement in track, if all classification, jump to step S407), no
Then jump to step S402);
S402) non-classified statement during iteration takes out track, classifies to it;
S403) according to the classification of source code, it is judged that whether this statement is the statement revised, if the statement then labelling of amendment
Cause different statements for amendment and jump to step S401), otherwise jump to step S404);
S404) according to track correspondence result, it is judged that whether this statement has corresponding statement, if there is no corresponding statement, by this language
Sentence is labeled as flowing different statements and jumping to step S401), otherwise jump to step S405);
S405) variable value information comprised according to statement, it is judged that whether this statement and the variate-value comprised in corresponding statement
Identical, if differed including at least a variate-value, it is labeled as being worth different statements and jumping to step by this statement
S401), step S406 is otherwise jumped to);
S406) this statement it is labeled as consistent statement and jumps to step S401);
S407) statement classification in track terminates, and returns.
As a example by statement 2, its concrete classification process includes:
Step S401: the non-all classification of statement in track, turns S402;
Step S402: take out non-classified statement 2 in track;
Step S403: the statement of the non-amendment of statement 2, turns S403;
Step S403: statement 2 has the statement of correspondence, turns S404;
Step S404: the variate-value that in two tracks, statement 2 comprises is identical, goes to step S405;
Step S405: the statement 2 in two tracks is labeled as consistent statement.
Repeat the above steps, until all of statement is classified in track, obtains statement classification result as shown in table 2.
Table 2 statement classification result
Step S5: perform failed point with redaction program and start the generation of recurrence mistake is carried out slice analysis for starting point,
Failed point statement is added slice analysis queue, in this example redaction program i.e. program v2, and it performs failed point statement i.e.
Output point statement 13, so adding slice analysis queue by the statement 13 in program v2 track;
Step S6: judge whether slice analysis queue is empty, the most then jump to step S9), otherwise jump to step
S7), current queue is not empty, so jumping to step S7);
Step S7: take out slice analysis queue head end statement, and judge head end statement the need of carrying out slice analysis, if
It is not required to be analyzed, jumps to step S6), otherwise jump to step S8), if need to carry out the criterion of slice analysis
Be: if this statement has been analyzed or has belonged to step S4) in consistent statement, be made without slice analysis, otherwise need
Slice analysis to be carried out.Owing to the statement 13 in program v2 track belongs to the statement that value is different, so needing to carry out slice analysis,
Jump to step S8);
Step S8: by present analysis statement add return erroneous slice, and according to step S4) in statement classification needed
The dependence statement and the corresponding statement that carry out slice analysis add slice analysis queue.So the statement 13 in program v2 is added back
Return erroneous slice, and statement 13 corresponding in program v1 track is added slice analysis queue.Because the language in program v2
Sentence 13 belongs to the statement that value is different, so needing also to add its data dependence statement 12 slice analysis queue.This step terminates
After jump to step S6);
Repeat the above steps, until step S6) jump to step S9).This cyclic process is illustrated as shown in Figure 10, carries in figure
The solid line of arrow represents the dependence between statement, and slash is filled and represented that this statement is added in recurrence erroneous slice.
Step S9: output regression erroneous slice, the recurrence erroneous slice of example is as shown in Figure 9.From this section it can be seen that
Owing to program v2 relative program v1 deletes statement 3, thus result in the difference of output, the recurrence mistake i.e. discussed.Therefore, should
Section provides and returns the context environmental that mistake produces, and we can repair recurrence mistake accurately according to this section simultaneously.
Claims (7)
1. program based on hierarchical model returns location of mistake method, it is characterised in that comprise the following steps:
S1), according to two the version programs to be measured inputted, the difference of two version program source codes is calculated, according to source
The source code of two version programs is reset by the difference of code so that identical code has identical line number, and different codes is with empty
Row correspondence;
S2) revision program, with two program execution after code reordering can be caused to perform failed test cases, and
That extracts two version programs performs track, variate-value that statement comprises and the dependence of statement;
S3), execution trajectory set being made into tree structure, each node of tree is that a function performs sequence;Call lopcus function
Body statement corresponding method, to step S2) in the execution track of two version programs that extracts carry out correspondence;
S4) variate-value that difference, track correspondence result and the statement, according to source code comprises, is divided into the statement in track
Four classes: amendment causes different statement, flows different statement, is worth different statements and consistent statement;
S5), perform failed point with redaction program to start the generation of recurrence mistake is carried out slice analysis, by failed point for starting point
Statement adds slice analysis queue;
S6), judge whether slice analysis queue is empty, the most then jump to step S9), otherwise jump to step S7);
S7), take out slice analysis queue head end statement, and judge head end statement the need of carrying out slice analysis, if be not required to into
Row is analyzed and is then jumped to step S6), otherwise jump to step S8);
S8), by present analysis statement add return erroneous slice, and according to step S4) in statement classification needed to cut
Dependence statement and corresponding statement that sheet is analyzed add slice analysis queue, jump to step S6 after terminating);
S9), output regression erroneous slice.
Program based on hierarchical model the most according to claim 1 returns location of mistake method, it is characterised in that step
S1) in, the process of code reordering comprises the following steps:
S101), according to the source code of two version programs, the difference of two version program source codes is calculated;
S102), according to the difference of two version program source codes calculated, every by two version program source codes
Bar statement is divided into two classes: identical statement, the statement of amendment;
S103), on the basis of not reprogramming program executing sequence, the source code of two version programs is reset, has made
Exactly the same statement has identical line number, and the statement of amendment is corresponding with null;
S104) two version program's source codes to be measured after, output code is reset are as new program to be measured.
Program based on hierarchical model the most according to claim 1 returns location of mistake method, it is characterised in that step
S3) tree structure performing track in is defined as follows: the execution track that each node is a function body in tree, a joint
The execution track of the function body called in the function body that the child node of point is stated by this node;Step S3) in from tree-like knot
It is corresponding that the root node of structure proceeds by lopcus function body statement, specifically includes following steps:
S301), judge whether the statement needing to carry out correspondence in current corresponding function body is empty, the most then function body statement
Corresponding method performs to terminate to return, and otherwise jumps to step S302);
S302) statement during, iteration takes out function body is as the statement currently carrying out correspondence;
S303), judge whether current corresponding statement is function call statement, if function call statement then jumps to step
S304), step S306 is otherwise jumped to);
S304), judging whether this function call has the function call of correspondence in corresponding track, if there being respective function to call, jumping
Go to step S305), otherwise jump to step S301);
S305), call function body statement corresponding method the statement in this function body track is carried out correspondence, redirect after performing to terminate
To step S301);
S306), judging whether current statement has the statement of correspondence in corresponding track, if there being corresponding statement, jumping to step
S307), step S301 is otherwise jumped to);
S307), current statement is carried out corresponding with the corresponding statement in corresponding track, after terminating, jump to step S301).
Program based on hierarchical model the most according to claim 1 returns location of mistake method, it is characterised in that step
S4) in, the method for statement classification is: according to step S102) in source code statement classification, track correspondence result and statement comprise
All statements in track are divided into following four classes by variable value information:
(1) amendment causes different statements: the statement of amendment;
(2) flow different statements: the statement of non-amendment, and there is no corresponding statement in corresponding track;
(3) statement that value is different: have the statement of correspondence, and the variate-value at least difference that statement comprises in two tracks;
(4) consistent statement: have the statement of correspondence in two tracks, and the variate-value that statement comprises is the most identical.
5. return location of mistake method according to the program based on hierarchical model described in claim 1 or 4, it is characterised in that step
Rapid S4) in classification process comprise the following steps:
S401), the statement all classification the most that judges in track, if all classification, jump to step S407), otherwise jump
Go to step S402);
S402), iteration take out non-classified statement in track, it is classified;
S403), according to the classification of source code, it is judged that whether this statement is the statement revised, if the statement of amendment is then labeled as
Amendment causes different statements and jumps to step S401), otherwise jump to step S404);
S404), according to track correspondence result, it is judged that whether this statement has corresponding statement, if there is no corresponding statement, by this statement
It is labeled as flowing different statements and jumping to step S401), otherwise jump to step S405);
S405), the variable value information comprised according to statement, it is judged that this statement and the variate-value comprised in corresponding statement whether phase
With, if differed including at least a variate-value, it is labeled as being worth different statements and jumping to step S401 by this statement),
Otherwise jump to step S406);
S406), this statement it is labeled as consistent statement and jumps to step S401);
S407) statement classification, in track terminates, and returns.
Program based on hierarchical model the most according to claim 1 returns location of mistake method, it is characterised in that step
S7) in, statement the need of the criterion carrying out slice analysis is: if this statement has been analyzed or has belonged to step S4)
In consistent statement be then made without slice analysis, otherwise need to carry out slice analysis.
Program based on hierarchical model the most according to claim 1 returns location of mistake method, it is characterised in that step
S8) analysis strategy carrying out the statement of slice analysis is needed to be in: for step S4) statement that intermediate value is different, only by its data
The corresponding statement relied in statement and corresponding track adds slice analysis queue;For flowing different statements, only controlled to depend on
Statement is relied to add slice analysis queue;Cause different statements for being categorized as revising, then controlled to rely on and data dependence
Statement all adds slice analysis queue.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610368555.0A CN106095663B (en) | 2016-05-26 | 2016-05-26 | Program based on hierarchical model returns location of mistake method |
PCT/CN2016/090956 WO2017201853A1 (en) | 2016-05-26 | 2016-07-22 | Method for locating program regression fault using slicing model |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610368555.0A CN106095663B (en) | 2016-05-26 | 2016-05-26 | Program based on hierarchical model returns location of mistake method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106095663A true CN106095663A (en) | 2016-11-09 |
CN106095663B CN106095663B (en) | 2017-06-27 |
Family
ID=57230282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610368555.0A Active CN106095663B (en) | 2016-05-26 | 2016-05-26 | Program based on hierarchical model returns location of mistake method |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106095663B (en) |
WO (1) | WO2017201853A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851353A (en) * | 2019-10-22 | 2020-02-28 | 天津大学 | Concurrent program defect positioning method based on Delta debug and constraint solution |
CN107643905B (en) * | 2017-09-13 | 2021-01-12 | 扬州大学 | Automatic repair method for software version consistency defects |
CN114092288A (en) * | 2020-11-24 | 2022-02-25 | 北京航空航天大学 | Personalized intelligent tutoring method for programming beginners |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080271006A1 (en) * | 2007-04-26 | 2008-10-30 | Microsoft Corporation | Technologies for Code Failure Proneness Estimation |
CN102902619A (en) * | 2011-07-29 | 2013-01-30 | 阿里巴巴集团控股有限公司 | Method and device for regression testing of Web application programs |
CN103678097A (en) * | 2012-09-05 | 2014-03-26 | 百度在线网络技术(北京)有限公司 | Method and device for selecting regression test case |
CN105446723A (en) * | 2014-09-02 | 2016-03-30 | 国际商业机器公司 | Method and device for identifying semantic difference between source code versions |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8584108B2 (en) * | 2010-03-29 | 2013-11-12 | GM Global Technology Operations LLC | Method and apparatus for analyzing software |
CN101859276B (en) * | 2010-05-14 | 2012-02-22 | 东南大学 | Regression testing case selection method based on hierarchical slicing |
CN101916222B (en) * | 2010-08-09 | 2012-07-11 | 哈尔滨工程大学 | Software testing method based on combination of control flow graph traversal and slice forward traversal |
CN103970845B (en) * | 2014-04-28 | 2017-03-22 | 南京邮电大学 | Webpage filtering method based on program slicing technology |
-
2016
- 2016-05-26 CN CN201610368555.0A patent/CN106095663B/en active Active
- 2016-07-22 WO PCT/CN2016/090956 patent/WO2017201853A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080271006A1 (en) * | 2007-04-26 | 2008-10-30 | Microsoft Corporation | Technologies for Code Failure Proneness Estimation |
CN102902619A (en) * | 2011-07-29 | 2013-01-30 | 阿里巴巴集团控股有限公司 | Method and device for regression testing of Web application programs |
CN103678097A (en) * | 2012-09-05 | 2014-03-26 | 百度在线网络技术(北京)有限公司 | Method and device for selecting regression test case |
CN105446723A (en) * | 2014-09-02 | 2016-03-30 | 国际商业机器公司 | Method and device for identifying semantic difference between source code versions |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107643905B (en) * | 2017-09-13 | 2021-01-12 | 扬州大学 | Automatic repair method for software version consistency defects |
CN110851353A (en) * | 2019-10-22 | 2020-02-28 | 天津大学 | Concurrent program defect positioning method based on Delta debug and constraint solution |
CN110851353B (en) * | 2019-10-22 | 2023-03-31 | 天津大学 | Concurrent program defect positioning method based on Delta debug and constraint solution |
CN114092288A (en) * | 2020-11-24 | 2022-02-25 | 北京航空航天大学 | Personalized intelligent tutoring method for programming beginners |
Also Published As
Publication number | Publication date |
---|---|
WO2017201853A1 (en) | 2017-11-30 |
CN106095663B (en) | 2017-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110347603B (en) | Automatic software testing system and method for artificial intelligence | |
CN104503917B (en) | Change domain of influence analysis method and system based on data flow function call path | |
US8020153B2 (en) | Source code checker, source code checking method, program for causing execution of the method, and storage medium for storing the program | |
CN105302719B (en) | A kind of mutation testing method and device | |
CN103198016B (en) | Based on combining the software error localization method relying on probabilistic Modeling | |
CN106095663B (en) | Program based on hierarchical model returns location of mistake method | |
CN102567201A (en) | Method for automatically recovering cross-model GUI (graphic user interface) test scripts | |
CN103914379B (en) | Fault is automatically injected the method with fault detect and system thereof | |
CN102375895B (en) | Method for automatically constructing parameter optimal extraction process of device model | |
CN110442514B (en) | Method for realizing defect repair recommendation based on learning algorithm | |
CN106021101A (en) | Method and device for testing mobile terminal | |
CN105224455B (en) | A kind of method for automatically generating character string type test case | |
Laurent | Using formal methods and testability concepts in the avionics systems validation and verification (v&v) process | |
CN105808438A (en) | Test case reuse method based on function call path | |
CN109871322A (en) | A kind of program topic automatic scoring method based on machine learning | |
CN110515826A (en) | A kind of software defect positioning method based on number frequency spectrum and neural network algorithm | |
CN104317707A (en) | Program structure influence sensing based software error positioning method | |
CN106844221B (en) | Method for realizing coverage rate analysis of virtual verification system | |
CN103885341B (en) | Performance analysis system based on automotive performance simulator and method | |
Spichkova et al. | Towards a human-centred approach in modelling and testing of cyber-physical systems | |
CN103309805A (en) | Automatic selection method for test target in object-oriented software under xUnit framework | |
CN108228232B (en) | Automatic repairing method for circulation problem in program | |
US20180217922A1 (en) | Application testing | |
CN105354035A (en) | Method for compiling test case of web engineering | |
CN104536880A (en) | GUI program testing case augmentation method based on symbolic execution |
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 |