CN105468530B - A kind of program error detection method and system based on finite state machine - Google Patents
A kind of program error detection method and system based on finite state machine Download PDFInfo
- Publication number
- CN105468530B CN105468530B CN201510976002.9A CN201510976002A CN105468530B CN 105468530 B CN105468530 B CN 105468530B CN 201510976002 A CN201510976002 A CN 201510976002A CN 105468530 B CN105468530 B CN 105468530B
- Authority
- CN
- China
- Prior art keywords
- detected
- sequence
- program
- state machine
- finite state
- 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.)
- Expired - Fee Related
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 41
- 238000000034 method Methods 0.000 claims abstract description 43
- 238000011084 recovery Methods 0.000 claims abstract description 15
- 230000008569 process Effects 0.000 claims description 8
- 230000003068 static effect Effects 0.000 claims description 5
- 238000005259 measurement Methods 0.000 claims description 4
- 238000013508 migration Methods 0.000 claims description 4
- 230000005012 migration Effects 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 abstract description 4
- 230000008439 repair process Effects 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 116
- 238000010586 diagram Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000003780 insertion Methods 0.000 description 4
- 238000000354 decomposition reaction Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000009412 basement excavation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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/362—Software debugging
- G06F11/3624—Software debugging by performing operations on the source code, e.g. via a compiler
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)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
The invention discloses a kind of program error detection method based on finite state machine and system, this method to comprise the following steps:S1, finite state machine and program to be detected are obtained, function calling sequence set to be detected is extracted from program to be detected;S2, single function calling sequence to be detected is obtained from set to be detected, solve function calling sequence most short with the sequence distance to be detected in finite state machine;S3, sequence more to be detected and the most short sequence of distance carry out error detection and positioning;S4, after completing the detection and reparation of the sequence to be detected, record each error message detected and recovery scenario;S5, to all Sequence Detections to be detected in set to be detected after, output program error reporting.The present invention does not have expense and loss of significance caused by protocol conversion, can accurately navigate to the generation point of program error, have higher positioning precision, and can automatically generate errors repair scheme.
Description
Technical field
The present invention relates to program verification field, more particularly to a kind of program error detection method based on finite state machine and
System.
Background technology
API is to illustrate a kind of program restriction of calling order between built-in function using agreement, and it is often issued in built-in function
It is missed in document, and then causes software developer's various software errors caused by the API occupation modes of mistake, such as:Adjust
Before peek () function of java.util.Stack classes, it is necessary to first call push () function, otherwise program can be because empty stack
And EmptyStackException exceptions of dishing out;Again such as call java.util.Iteration classes next () function it
Before, it should hasNext () is first called, NoSuchElementException otherwise can be caused abnormal.According to statistics, Eclipse is wrong
115 and functions are comprised at least in warehouse by mistake and call the related software error of missing.Moreover, agreement is used also according to API
Be capable of detecting when object not correctly initialization and resource leakage etc. type mistake.
Currently, it is from substantial amounts of api function calling sequence, using sequence to automatically obtain API using the main method of agreement
Column data method for digging summarizes the sequence pattern of function call.Wherein, the function call excavated is described using finite state machine
Sequence pattern is a kind of main way.Its principle is:Function calling sequence is regarded as to the sentence of language, API is used into agreement
Regard the grammer that can be described with finite state machine as, then summarize excavations of the API using agreement from function calling sequence set
Problem changes the grammatical inference problem for for known sentence set, inferring the grammer that can produce these sentences.Automatic mining
API is using one of main purpose of agreement:Program error detection is carried out using agreement according to the API of acquisition.Currently, based on having
The API of limit state machine form is mainly had following two using the method for agreement progress program error detection:1st, by finite state machine
The API of form is that the form that other program errors detection instrument receives carries out error detection using protocol conversion, such as:Binary sequential
Constraint<p,q>Form or predicate constraint form;2nd, finite state machine is directly based upon, by the way of language checking:It is false
If A, which is the API of a finite state machine form, uses agreement, method extracts function calling sequence from program P to be detected first
Set Q.For arbitrary function calling sequence q ∈ Q, if q can be received by A and terminate at the termination shape of finite state machine
State, then q is correct function calling sequence;Otherwise, wherein including wrong and first function call that can not correctly match
Point is produced for mistake.
The above method is primarily present following deficiency:1st, will when the API of finite state machine form is highly complex using agreement
It is a time-consuming and challenging job that it, which is converted to the other forms of equivalent,;Though the method the 2nd, based on language checking
Form conversion need not be so carried out, but it can not accurately navigate to program error and produce point in some cases.Such as Fig. 1 institutes
It is given to include vicious function calling sequence exemplified by the API for the finite state machine form shown uses agreement<
FileOutputStream(),write(),close(),write(),write(),write(),close()>, it is above-mentioned
The method of language checking will report that the 4th function call write () place is wrong and thinks that function call thereafter is
Illegal function call, because now finite state machine has arrived at final state.It is however, true in the function calling sequence
Mistake is to put call function close () in third place.Although third place put it is adjacent with No. four positions, the two
Function call may be distributed in inside two different functions or two different code files.This inaccurate mistake is determined
Position, brings great puzzlement to software developer, reduces the efficiency of software development;3rd, existing method can not provide automatically
Program error recovery scenario.
The content of the invention
The technical problem to be solved in the present invention is for being difficult to change the finite state under complex situations in the prior art
The defects of API of machine form uses agreement, and location of mistake is inaccurate, there is provided a kind of location of mistake is accurate, and can repair automatically
The program error detection method and system based on finite state machine of mistake.
The technical solution adopted for the present invention to solve the technical problems is:
The present invention provides a kind of program error detection method based on finite state machine, comprises the following steps:
S1, finite state machine and program to be detected are obtained, function calling sequence to be detected is extracted from program to be detected
Set, is denoted as set to be detected;
S2, single function calling sequence to be detected is obtained from set to be detected, be denoted as sequence to be detected, solved limited
The function calling sequence most short with the sequence distance to be detected in state machine, it is denoted as the most short sequence of distance;
S3, sequence more to be detected and the most short sequence of distance carry out error detection and positioning, to be detected if both are identical
Sequence is correct function calling sequence;Otherwise, vicious function call is contained in sequence to be detected, now with minimum editor
Sequence to be detected is converted to the most short sequence of distance by operation;
S4, after completing the detection and reparation of the sequence to be detected, each error message detected and recovery scenario are recorded,
Including:Position caused by the function call title of mistake, mistake;
S5, to all Sequence Detections to be detected in set to be detected after, output program error reporting.
Further, the finite state machine in step S1 of the invention is that API uses protocol library, and the finite state machine is by people
To provide, or automatic mode is used to be obtained from program.
Further, the offer form of program to be detected includes in step S1 of the invention:Program source code, executable journey
Sequence or other programs that can extract function calling sequence.
Further, measurement when editing distance is used in step S2 of the invention as solution beeline.
Further, the program error detected in step S3 of the invention includes:Object not correctly let out by initialization, resource
Dew and api function call missing.
The present invention provides a kind of program error detecting system based on finite state machine, including:
Program analyzer unit, for obtaining finite state machine and program to be detected, extracted from program to be detected to be checked
The function calling sequence set of survey, is denoted as set to be detected;
API uses agreement library unit, and the API for providing finite state machine description for system uses agreement, and user can be with
Customized agreement is added into protocol library, the state of finite state machine or migration represent function call;
Correct function calling sequence solver unit, for obtaining single function call to be detected from set to be detected
Sequence, sequence to be detected is denoted as, solves function calling sequence most short with the sequence distance to be detected in finite state machine, be denoted as
The most short sequence of distance;
Function calling sequence comparator unit, for sequence more to be detected and distance most short sequence carry out error detection with
Positioning, if both are identical, sequence to be detected is correct function calling sequence;Otherwise, containing vicious in sequence to be detected
Function call, sequence to be detected is now converted to by the most short sequence of distance with minimum edit operation;
Program error report device unit, for being formatted output to program error and restorative procedure.
Further, described program analyzer module of the invention includes Program Static Analysis device, dynamically analyzing of program device
With the combination process analyzer of the two combination.
The beneficial effect comprise that:The program error detection method based on finite state machine of the present invention, passes through
API directly in the form of finite state machine uses agreement as input, without expense caused by protocol conversion and loss of significance;Enter
And solved in finite state machine and obtain closest function calling sequence, the position of mistake generation is relatively found with it and is repaiied
Compound case, this method can accurately navigate to the generation point of program error, have higher positioning precision;And can be automatic
Generation error recovery scenario.
Brief description of the drawings
Below in conjunction with drawings and Examples, the invention will be further described, in accompanying drawing:
Fig. 1 is that the API of the form of finite state machine in the prior art of the embodiment of the present invention uses agreement;
Fig. 2 is the flow chart of the program error detection method based on finite state machine of the embodiment of the present invention;
Fig. 3 is the concrete operation step flow of the program error detection method based on finite state machine of the embodiment of the present invention
Figure;
Fig. 4 is the structured flowchart of the program error detecting system based on finite state machine of the embodiment of the present invention;
Fig. 5 is the structure of one embodiment of the program error detecting system based on finite state machine of the embodiment of the present invention
Block diagram;
Fig. 6 is the recursive algorithm PROBLEM DECOMPOSITION of the program error detecting system based on finite state machine of the embodiment of the present invention
Schematic diagram (one);
Fig. 7 is the recursive algorithm PROBLEM DECOMPOSITION of the program error detecting system based on finite state machine of the embodiment of the present invention
Schematic diagram (two);
Fig. 8 is the knot of another embodiment of the program error detecting system based on finite state machine of the embodiment of the present invention
Structure block diagram.
Embodiment
In order to make the purpose , technical scheme and advantage of the present invention be clearer, it is right below in conjunction with drawings and Examples
The present invention is further elaborated.It should be appreciated that specific embodiment described herein is only to explain the present invention, not
For limiting the present invention.
As shown in Fig. 2 the program error detection method based on finite state machine of the embodiment of the present invention, including following step
Suddenly:
S1, finite state machine and program to be detected are obtained, function calling sequence to be detected is extracted from program to be detected
Set, is denoted as set to be detected;The finite state machine is that API use protocol library, and the finite state machine is by artificially providing, or use
Other automatic modes such as data mining obtain from program;The offer form of program to be detected includes:Program source code, it can hold
Line program or other programs that can extract function calling sequence;
S2, single function calling sequence to be detected is obtained from set to be detected, be denoted as sequence to be detected, solved limited
The function calling sequence most short with the sequence distance to be detected in state machine, it is denoted as the most short sequence of distance;Wherein, distance can be
Editing distance or other measurements;
S3, sequence more to be detected and the most short sequence of distance carry out error detection and positioning, to be detected if both are identical
Sequence is correct function calling sequence;Otherwise, vicious function call is contained in sequence to be detected, now with minimum editor
Sequence to be detected is converted to the most short sequence of distance by operation;The program error detected includes:Object does not initialize correctly, resource
Leakage and api function call missing;
S4, after completing the detection and reparation of the sequence to be detected, each error message detected and recovery scenario are recorded,
Including:Position caused by the function call title of mistake, mistake;
S5, to all Sequence Detections to be detected in set to be detected after, output program error reporting.
As shown in figure 3, the specific workflow of the method for the embodiment of the present invention is:
S1:Function calling sequence set Q is extracted from program to be detected.The program to be detected can use program source generation
The diversified forms such as code, executable program provide;Methods described can be Program Static Analysis or dynamic analysing method;
S2:Whether the function calling sequence in discriminant function calling sequence set Q has all verified.If verify
Finish, go to S8;Otherwise, S3 is gone to;
S3:Obtain a function calling sequence q in Q;
S4:Solve the most short function calling sequence p of and function calling sequence q distances in finite state machine A;
S5:Comparison function calling sequence p and q carry out error detection and positioning.If the two is identical, q is correct function
Calling sequence;Otherwise, vicious function call is included in q.Q is converted to p by methods described with minimum edit operation, operation
The position of implementation and method are that mistake produces point and recovery scenario;
S6:If including mistake in function calling sequence q, S7 is gone to;Otherwise, S2 is gone to;
S7:The error message detected in each function calling sequence and recovery scenario are recorded, including:The function call of mistake
Position etc. caused by title, mistake;
S8:After all function calling sequence detections in function calling sequence set Q, output program error reporting.
Assuming that the API that A is finite state machine form uses agreement, F is the set of the api function included in the agreement, is given
Fixed program P to be detected, method of the invention extract function calling sequence set Q first from P.Assuming that q ∈ Q are a function
Calling sequence, c are a function call in q, then have c ∈ F.Function calling sequence set Q can use Program Static Analysis,
The program analysis technique of dynamic analysis or a combination of both obtains.Then, method verifies function calling sequence according to finite state machine A
Set Q correctness simultaneously positions wherein wrong function call.Method can detect order dependent with api function calling in program
Polytype software error, including:Object is not initialized correctly, resource is revealed and function call lacks etc..In addition, side
Method being capable of automatically generating program errors repair scheme.
The key technology of this method is that single function calling sequence q correctness is verified according to finite state machine A.Method
Thinking is:The i.e. correct function calling sequence p of true intention that A and q infers programmer is primarily based on, then compares p and q simultaneously
Carry out location of mistake and generation recovery scenario.Method is solved based on following heuristic rule to p:
(1) p, which should be, follows the correct function calling sequence that API uses agreement, i.e. p can be produced by A;
(2) p and q distance is most short, wherein apart from usually editing distance, can also use other distance metrics.
Based on above heuristic rule, p can be solved with construction algorithm, algorithm is adjusted with finite state machine A and function
By the use of sequence q as input, obtain with q apart from most short function calling sequence p, wherein p is can be by finite state machine form
API uses the correct function calling sequence that agreement receives.
Error detection is carried out with positioning and automatically generating errors repair scheme by more above-mentioned function calling sequence p and q,
Specially:Q is converted to by p using minimum edit operation, it is that mistake produces point and repaiied to implement the position of operation and method
Compound case.
As shown in figure 4, the program error detecting system based on finite state machine of the embodiment of the present invention, for realizing this hair
The program error detection method based on finite state machine of bright embodiment, including:
Program analyzer unit, for obtaining finite state machine and program to be detected, extracted from program to be detected to be checked
The function calling sequence set of survey, is denoted as set to be detected;The unit include Program Static Analysis device, dynamically analyzing of program device and
The two combination process analyzer combined;
API uses agreement library unit, and the API for providing finite state machine description for system uses agreement, and user can be with
Customized agreement is added into protocol library, the state of finite state machine or migration represent function call;
Correct function calling sequence solver unit, for obtaining single function call to be detected from set to be detected
Sequence, sequence to be detected is denoted as, solves function calling sequence most short with the sequence distance to be detected in finite state machine, be denoted as
The most short sequence of distance;API of the unit in the form of finite state machine use agreement A and function calling sequence q to be detected as
Input, solved function calling sequence p so that p is produced by A and p and q distance is most short;
Function calling sequence comparator unit, for sequence more to be detected and distance most short sequence carry out error detection with
Positioning, if both are identical, sequence to be detected is correct function calling sequence;Otherwise, containing vicious in sequence to be detected
Function call, sequence to be detected is now converted to by the most short sequence of distance with minimum edit operation;The unit is with above-mentioned function
Calling sequence p and q detect program error present in q and are accurately positioned and generation error recovery scenario as input;
Program error report device unit, for being formatted output to program error and restorative procedure.
The system is using program to be detected as input, mistake and output program error reporting in autotest.
The program to be detected can provide in a variety of forms, such as:Program source code, executable program other can extract function
The form of calling sequence;The mistake is to call order dependent program error with api function, including:Object is incorrect initial
Change, resource leakage and function call missing etc.;Described error reporting includes position and recovery scenario etc. caused by program error
Information;
As shown in figure 5, in another embodiment of the present invention, the program error detecting system based on finite state machine
In, API of the correct function calling sequence solver unit in the form of finite state machine uses agreement A and function call to be detected
Sequence q is as input, using a kind of recursive algorithm solved function calling sequence p so that p is produced by A and p and q distance is most short.
For method using editing distance as the measurement between function calling sequence, it includes insertion, deletion and replacement operation, its cost letter
Number is defined as follows:
Wherein, m1、m2For api function, Λ represents do-nothing function, γ (m1→m2) be edit operation cost function, m1→m2
An edit operation is represented, works as m1Insertion operation is represented during=Λ;Work as m2=Λ represents deletion action;Work as m1≠ Λ and m2≠Λ
Represent replacement operation.
Under above-mentioned recursive algorithm initial situation, the original state that current state is finite state machine A is made, current location is to treat
Detection function calling sequence q original position.Algorithm is scanned for using depth-first traversal strategy, and current state is set out
Migration is matched with the function call of current location.In matching process, the behaviour that insertion, deletion and replacement function are called is considered
Make.After the completion of current state and current location matches, next state that current state is current state is made, current location is
Next position of current location, so as to form a subproblem with same nature.Subproblem uses above-mentioned identical side
Method is recursive to be matched.Algorithm is carried out in matching process, is recorded the edit operation of use and is calculated editing distance.Algorithms selection
The solution of the minimum subproblem of editing distance exports as algorithm.Subproblem solution procedure stops in a period of time of following three kinds of situations:
(1) finite state machine reaches final state;
(2) function calling sequence to be detected is empty sequence;
(3) d > max (| | A, | | q | |), wherein d is the current caused accumulation editing distance of matching process;| | A | | be
The quantity for the state that finite state machine A is included;| | q | | by the number of the function calling sequence q to be detected function calls included
Amount.The stop condition is introduced for enabling algorithm fair termination when solving circulation subproblem.
As shown in Figure 6, Figure 7, recursive algorithm PROBLEM DECOMPOSITION schematic diagram is stated for this, wherein Fig. 6 is finite state machine, m4m5m10
For function calling sequence to be detected, Fig. 7 is illustrated in finite state machine original state S2When, call m to match starting function4
The problem of made, decomposes.As shown in fig. 7, algorithm considers edit operation Λ → m4、Λ→m5、m4→m4、m4→m5、m4→Λ
And 5 subproblems are decomposited.Contingency question decomposable process duplicates with the process.
The function calling sequence comparator unit course of work is:Based on function call insertion, deletion and replacement operation, use
Function calling sequence q is converted to correct function call p, record operation by the dynamic programming method for solving string editing distance
The position of implementation and type, wherein it is the position for implementing operation that mistake, which produces point, recovery scenario is according to the type for implementing operation
Automatically generated with reference to following table:
As shown in figure 8, in another embodiment of the present invention, program error detection method based on finite state machine and
System, this method input is executable program to be detected, is exported as error detection report and recovery scenario;The system includes:
Test case generator unit:Automatically generate test case and drive program operation to be detected;
Dynamically analyzing of program device unit:Pitching pile is carried out to program to be detected using dynamic pile pitching method and collection procedure performs
Track (i.e. function calling sequence);
API uses agreement library unit, wherein use agreement comprising the API using finite state machine description, user can be to
Customized agreement is added in protocol library;
Correct function calling sequence solver unit, API of the unit in the form of finite state machine use agreement A and to be checked
The function calling sequence q of survey is as input, solved function calling sequence p so that p is produced by A and p and q distance is most short.This reality
It is identical with embodiment one to apply the derivation algorithm used in example, does not elaborate herein;
Function calling sequence comparator unit, the unit are detected and deposited in q using above-mentioned function calling sequence p and q as input
Program error and be accurately positioned and generation error recovery scenario.The method used in the present embodiment and embodiment one
It is identical, do not elaborate herein;
Program error report device unit, the unit are used to be formatted output to program error and recovery scenario.
It should be appreciated that for those of ordinary skills, can according to the above description be improved or converted,
And all these modifications and variations should all belong to the protection domain of appended claims of the present invention.
Claims (7)
1. a kind of program error detection method based on finite state machine, it is characterised in that comprise the following steps:
S1, finite state machine and program to be detected are obtained, function calling sequence set to be detected are extracted from program to be detected,
It is denoted as set to be detected;
S2, single function calling sequence to be detected is obtained from set to be detected, be denoted as sequence to be detected, solve finite state
The function calling sequence most short with the sequence distance to be detected in machine, it is denoted as the most short sequence of distance;
S3, sequence more to be detected and the most short sequence of distance carry out error detection and positioning, if both identical, sequences to be detected
For correct function calling sequence;Otherwise, vicious function call is contained in sequence to be detected, now with minimum edit operation
Sequence to be detected is converted into the most short sequence of distance;
S4, after completing the detection and reparation of the sequence to be detected, each error message detected and recovery scenario are recorded, wrapped
Include:Position caused by the function call title of mistake, mistake;
S5, to all Sequence Detections to be detected in set to be detected after, output program error reporting.
2. the program error detection method according to claim 1 based on finite state machine, it is characterised in that in step S1
Finite state machine use protocol library for API, the finite state machine is by artificially providing, or use automatic mode obtains from program
.
3. the program error detection method according to claim 1 based on finite state machine, it is characterised in that in step S1
The offer form of program to be detected includes:Program source code, executable program.
4. the program error detection method according to claim 1 based on finite state machine, it is characterised in that in step S2
Measurement during using editing distance as solution beeline.
5. the program error detection method according to claim 1 based on finite state machine, it is characterised in that in step S3
The program error detected includes:Correctly initialization, resource leakage and api function do not call missing to object.
A kind of 6. program error detecting system based on finite state machine, it is characterised in that including:
Program analyzer unit, for obtaining finite state machine and program to be detected, extracted from program to be detected to be detected
Function calling sequence set, it is denoted as set to be detected;
API uses agreement library unit, and the API for providing finite state machine description for system uses agreement, and user can be to association
Customized agreement is added in view storehouse, the state of finite state machine or migration represent function call;
Correct function calling sequence solver unit, for obtaining single function call sequence to be detected from set to be detected
Row, are denoted as sequence to be detected, solve function calling sequence most short with the sequence distance to be detected in finite state machine, be denoted as away from
From most short sequence;
Function calling sequence comparator unit, error detection is carried out with determining for sequence more to be detected and the most short sequence of distance
Position, if both are identical, sequence to be detected is correct function calling sequence;Otherwise, vicious letter is contained in sequence to be detected
Number is called, and sequence to be detected now is converted into the most short sequence of distance with minimum edit operation;
Program error report device unit, for being formatted output to program error and restorative procedure.
7. the program error detecting system according to claim 6 based on finite state machine, it is characterised in that described program
Analyzer module includes Program Static Analysis device, dynamically analyzing of program device and the two combination process analyzer combined.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510976002.9A CN105468530B (en) | 2015-12-22 | 2015-12-22 | A kind of program error detection method and system based on finite state machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510976002.9A CN105468530B (en) | 2015-12-22 | 2015-12-22 | A kind of program error detection method and system based on finite state machine |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105468530A CN105468530A (en) | 2016-04-06 |
CN105468530B true CN105468530B (en) | 2018-03-20 |
Family
ID=55606261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510976002.9A Expired - Fee Related CN105468530B (en) | 2015-12-22 | 2015-12-22 | A kind of program error detection method and system based on finite state machine |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105468530B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3324360A4 (en) * | 2016-09-13 | 2019-05-08 | Hitachi Information & Telecommunication Engineering, Ltd. | State prediction device and state prediction method |
CN111625444B (en) * | 2020-04-10 | 2021-09-17 | 中国科学院软件研究所 | Method and device for positioning program error based on spectrum method |
CN116341880B (en) * | 2023-05-26 | 2023-08-11 | 成都盛锴科技有限公司 | Distributed scheduling method for column inspection robot based on finite state machine |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763291A (en) * | 2009-12-30 | 2010-06-30 | 中国人民解放军国防科学技术大学 | Method for detecting error of program control flow |
CN102508766A (en) * | 2011-09-29 | 2012-06-20 | 中国航天科技集团公司第七一〇研究所 | Static analysis method of errors during operation of aerospace embedded C language software |
CN103488571A (en) * | 2013-10-12 | 2014-01-01 | 浙江大学城市学院 | Method for verifying correctness of JavaScript procedure in mixed mode |
-
2015
- 2015-12-22 CN CN201510976002.9A patent/CN105468530B/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763291A (en) * | 2009-12-30 | 2010-06-30 | 中国人民解放军国防科学技术大学 | Method for detecting error of program control flow |
CN102508766A (en) * | 2011-09-29 | 2012-06-20 | 中国航天科技集团公司第七一〇研究所 | Static analysis method of errors during operation of aerospace embedded C language software |
CN103488571A (en) * | 2013-10-12 | 2014-01-01 | 浙江大学城市学院 | Method for verifying correctness of JavaScript procedure in mixed mode |
Non-Patent Citations (1)
Title |
---|
"基于有限状态机的错误诊断算法";赵保华等;《电子与信息学报》;20060930;第28卷(第9期);第1679页到第1683页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105468530A (en) | 2016-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8627290B2 (en) | Test case pattern matching | |
Leotta et al. | Approaches and tools for automated end-to-end web testing | |
CN104407980B (en) | Mobile solution automatic test device and method | |
CN103577324B (en) | Static detection method for privacy information disclosure in mobile applications | |
CN106528100A (en) | System and method for model based technology and process for safety-critical software development | |
CN110083340A (en) | Code generating method, device, computer equipment and storage medium | |
CN106681912A (en) | Method and device for automatic testing of code coverage rate, applied to Android system | |
CN104035873A (en) | Method and device for generating testing codes | |
CN110196801B (en) | Code coverage rate based test method and device | |
CN105468530B (en) | A kind of program error detection method and system based on finite state machine | |
CN106502896A (en) | A kind of generation method of function test code and device | |
Walkinshaw et al. | Automated comparison of state-based software models in terms of their language and structure | |
CN112579437B (en) | Method for verifying conformity in program running process | |
CN113626326B (en) | Dragging type zero code front end automatic test system based on image recognition | |
CN108710571A (en) | A kind of method and apparatus generating automatic test code | |
CN104699617A (en) | Automated testing method for games | |
CN113900926A (en) | Batch test method, system and medium for test cases | |
CN106557412A (en) | A kind of method and device of fuzz testing | |
CN105608006B (en) | A kind of program error detection method and system based on probabilistic model | |
CN107678975A (en) | A kind of software fault detection method and device | |
Ben Charrada et al. | An automated hint generation approach for supporting the evolution of requirements specifications | |
CN110912743B (en) | Method and device for executing configuration instruction | |
CN113282504A (en) | Incremental code coverage rate detection method and service development method and device | |
CN113282495A (en) | Java software fault positioning method based on track monitoring | |
CN106909500A (en) | The detection method and system of mistake are introduced in Airborne Software development process |
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: 20180320 |
|
CF01 | Termination of patent right due to non-payment of annual fee |