CN102799529B - A kind of dynamic binary code method for generating test case - Google Patents
A kind of dynamic binary code method for generating test case Download PDFInfo
- Publication number
- CN102799529B CN102799529B CN201210243495.1A CN201210243495A CN102799529B CN 102799529 B CN102799529 B CN 102799529B CN 201210243495 A CN201210243495 A CN 201210243495A CN 102799529 B CN102799529 B CN 102799529B
- Authority
- CN
- China
- Prior art keywords
- input
- new
- binary code
- path
- path constraint
- 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
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
The invention discloses a kind of dynamic binary code method for generating test case.Realize dynamic scale-of-two plug-in mounting instrument, can collect in binary code implementation, the dynamic context information such as register, internal memory, thread, system call, storehouse loading, this type of information is sent in binary code translation component, be converted into a kind of intermediate language, and hereinto between language carries out semiology analysis, communication symbol inputs, and collects the path constraint depending on input.Then this path constraint is input in coordinates measurement assembly, a kind of new individual path mutation algorithm at the same level and strategy are proposed, new path constraint is generated as much as possible after each semiology analysis, re-use theorem prover to solve new path constraint, be met the new input of this path constraint, new input is sent to binary code specifically perform again, continuous circulation obtains new path constraint from new execution, generate new input, thus improve binary code coverage rate.
Description
Technical field
The present invention relates to a kind of dynamic binary code method for generating test case, directly can run on windows platform, and do not need the source code of tested program, operationally can generate new input to detect new path, be applicable to the fields such as software test, bug excavation, reverse-engineering.
Background technology
Traditional software method of testing generally uses black box Fuzz to test, and passes to program, until program crashing by constructing one group of stochastic inputs.This method comparatively blindly, both cannot have been known which Program path was performed, construct input with also cannot having guidance quality, and make program can perform the path be not traversed.Most of the time in test process all repeating same path, makes test duration high cost.The test of source code level can helper person find a lot due to the BUG that the grammatical and semantic of code spice or mistake causes, but there is several shortcoming: 1) cannot the BUG of discovery procedure when running; 2) under many circumstances, source code be not can and; 3) need consider respectively each class programming language.
For the field such as software test, bug excavation, often need to consider code coverage problem, cover the execution route of binary code as much as possible, the possibility of BUG in discovery procedure code can be improved.But, because the numbers of branches in binary code is very many, make the input corresponding to a certain execution route of acquisition become the most difficult and one of to study a question.For addressing this problem, academia proposes a kind of new concept, semiology analysis, namely using inputting as symbol, then collecting constraint by the form of static interpreter source code, when running into branch, launching two paths simultaneously, continues to carry out downwards.The rate of false alarm of semiology analysis is extremely low, but also there are some drawbacks: need to carry out modeling to unaccounted function, state space is excessive, and efficiency is lower.
In recent years, occurred that some are based on dynamic execution path abroad, symbol and the instrument specifically performing the method that mixes and realize, as DART, CUTE, Sage, Catchconv, Fuzzgrind etc.Wherein, DART and CUTE has common ancestry, and they use same intermediate language, plug-in mounting mode and method for solving.Catchconv and Fuzzgrind is Open-Source Tools, all uses Valgrind as its plug-in mounting framework, only has the Sage of Microsoft to operate on Windows, but do not issue out.Under linux, most software is all open source software, a lot of source code analysis instrument can be used to check the mistake in source code, and in normal user operation system, Windows system accounts for exhausted vast scale, and large multiprogram is all that source code cannot obtain, therefore, the meaning of the binary code path detection under windows platform is more great.
The present invention continues to use the basic thought of these instruments, namely semiology analysis with specifically perform the thinking combined, have employed a kind of new implementation, realize information when the operation of binary code collected by dynamic binary code plug-in mounting instrument, VEX intermediate language is used to describe path constraint, use STP theorem prover as solver, this several existing instrument is combined, auxiliary with the path constraint mutation algorithm proposed and individual path Mutation Strategy at the same level again, dynamic binary code automatic generating test case instrument under achieving Windows.
Summary of the invention
In view of this, object of the present invention is just to provide a kind of dynamic binary code method for generating test case, it builds a kind of scheme that automatically can detect binary code execution route at windows platform, by the observation to binary code implementation, obtain the path constraint that it performs.Re-use solver and calculate the input performing other path, thus reach the object improving path coverage.
For achieving the above object, technical scheme of the present invention is achieved in that
A kind of dynamic binary code method for generating test case, the step of the method comprises:
Steps A. realize dynamic instrumentation framework when binary code runs.Binary implementation can be observed;
The information during dynamic operation that step B. collects according to dynamic instrumentation framework, as information such as instruction, register, internal storage access, translates into intermediate language binary code.
Step C., according to the input point information recorded in dynamic instrumentation framework, using input point as symbol, propagates the implementation relevant to input point, collects path constraint in each bifurcation.
The path constraint that step D. will collect, obtains new path constraint by variation routing algorithm, this path constraint is converted into the discernible query statement of solver.
Step e. use solver to calculate new route about intrafascicular, input the condition that need meet, relend and help dynamic instrumentation framework to give binary code the new input produced again to perform.
Wherein, the binary code described in steps A is the x86 machine code under windows platform; The dynamic instrumentation framework of described binary code, comprising:
A1. at the complete rear plug-in mounting of every bar instruction;
A2. the plug-in mounting when each thread starts;
A3. the plug-in mounting when each dynamic link library is loaded;
A4. the execution context of every bar instruction is recorded;
A5. each internal storage access information is recorded;
A6. record branch instruction whether to be performed;
Wherein, in the intermediate language described in step B, comprise three kinds of storage mediums:
B11. temporary variable, provisional application in each fundamental block, for realizing static single assignment, is the medium between register and internal memory;
B12. register, identical with the register in machine instruction, read-write register uses Get and Put in intermediate language to operate;
B13. internal memory, memory address is represented by constant or temporary variable, and read/write memory uses LDle and STle in intermediate language to operate;
Wherein, the intermediate language described in step B is made up of statement IRStmt, and statement IRStmt comprises:
B21.IMark statement, represents the entrance and mark of each fundamental block, comprising the corresponding start address of machine instruction of this fundamental block and the byte number of this instruction;
B22.Put statement, represents the value of temporary variable write register;
B23.Store statement, represents the value write memory temporary variable;
B24.IRDirty statement, represents the function calling spinoff;
B25.Exit statement, represents the outlet of fundamental block;
Wherein, the intermediate language described in step B is made up of statement IRStmt, and statement IRStmt is made up of expression formula IRExpr, and expression formula IRExpr comprises:
B31.Get expression formula, represents read value from register;
B32.Tmp expression formula, represents temporary variable;
B33.Binop expression formula, represents dual operation;
B34.Unop expression formula, represents unary operation;
B35.Load expression formula, represents read value from internal memory;
B36.Const expression formula, represents constant;
B37.MuxOX expression formula, represents if-then-else statement;
Wherein, the input point described in step C comprises three kinds of situations:
Command line parameter.The parameter transmitted when program is run, as the parameter transmitted when Console program starts.
Files classes input.Represent by ReadFile file reading content, as input.
Network inputs.Represent by the content in Recv, RecvFrom reading network, as input.
Wherein, described in step C using input point as symbol, namely communication symbol method is carried out on intermediate language, needs to consider following several situation:
C1.Put operates, and checks whether assignment depends on input to the temporary variable of register;
C2., when assignment is to temporary variable, lvalue needs to consider following several situation:
C21. read from temporary variable, check whether this temporary variable depends on input;
C22. read from internal memory, check whether the value in this internal memory depends on input;
C23. read from register, check whether this register depends on input;
C24. unary operation and dual operation, checks whether operand depends on input;
C3.Store operates, and checks whether the temporary variable of write memory depends on input;
Whether wherein, the path constraint will collected described in step D, obtains new path constraint by variation routing algorithm, comprises dual operation, unary operation, displacement operation, have sign extended, without sign extended, compare operation and redirect mark.
Wherein, the discernible query statement of solver described in step D comprises following several element:
The variable declarations of D1.BITVECTOR (X) type, represents the array of X Boolean variable.Statement need mix with ASSERT statement, and each ASSERT reception comprises the expression formula of declared variable as parameter;
D2. the modification of arithmetical predicate and compare operation.Signlessly be less than comparison predicate as BVLT is one, and BVSLT there is being less than of symbol to compare;
D3. the array of the bit vectors of bit vectors index.For using such array, need state the variable of new ARRAYBITVECTOR (X) OFBITVECTOR (Y) type, X represents that the size of group address and each item are the bit vectors of Y position.STP allows array variable index, as the bit vectors of certain length or the subset of long bit vectors.Can represent from a symbol memory address read value so simply;
Advantage and effect: a kind of dynamic binary code method for generating test case of the present invention, it builds a kind of scheme that automatically can detect binary code execution route at windows platform, by the observation to binary code implementation, obtain the path constraint that it performs.Re-use solver and calculate the input performing other path, thus dynamic binary code automatic generating test case instrument under achieving Windows, reach the object improving path coverage.
Accompanying drawing explanation
Fig. 1 is the dynamic generating test use case schematic flow sheet of binary code
Fig. 2 is branch at the same level schematic diagram in binary code
Embodiment
Below in conjunction with accompanying drawing and embodiments of the invention, method of the present invention is described in further detail.
Basic thought of the present invention is: realize binary code dynamic instrumentation instrument, collect the multidate information that binary code performs, these multidate informations are converted into VEX intermediate language, from input point created symbol, communication symbol arrives each branch, extracts the path constraint of each branch.Use path mutation algorithm to generate new path constraint, use solver to calculate the input vector meeting this path constraint, then input vector is passed to binary program and carry out next round execution, until no longer produce new path.
Fig. 1 is a kind of dynamic binary code method for generating test case schematic flow sheet of the present invention; As shown in Figure 1, the method comprises the steps:
Steps A: the execution using binary code instrumentation instrument plug-in mounting binary code, collects during binary code performs the multidate information produced;
The information such as multidate information here comprises the value of register, whether memory read-write address, branch are performed, can realize the monitoring to above information by binary code instrumentation instrument.
Step B: the instruction trace that binary code performs is translated into intermediate language;
Here intermediate language is not identical with the intermediate language that produces of static state, is converted into an x86CalculateCondition statement when intermediate language of static lower translation runs into branch instruction, and whether redirect is can not determine in expression.And the intermediate language dynamically generated, jump instruction has been determined, or redirect or order perform.
Step C: using input point as symbol, communication symbol on intermediate language, collects the path constraint depending on input at branch instruction place;
According to noted earlier, consider three kinds of inputs here, point other command line parameter, file and network interface.The address of command line parameter can directly obtain, and file and network interface need hooking system service call, and this process completes in plug-in mounting framework.
Step D: according to the path constraint collected, uses variation routing algorithm to generate new path constraint, new path constraint is converted into the discernible query statement of solver;
Here, the path constraint of collection comprises path string, (0|1)
*, wherein 0 represents in the non-redirect in branch instruction place, and 1 represents at branch instruction place redirect.For describing variation routing algorithm, introduce following symbol:
Exec (): represent executive routine process, parameter is the input that program performs, and returns the set of present procedure execution route constraint;
Solve (): represent solution procedure, parameter is the set of path constraint, returns the input set meeting this path constraint;
Vari (): represent path mutation process, parameter is that last program performs the path constraint collected, and returns a new path constraint;
The process in variation path is as follows:
111.
wherein P
i(1≤i≤n) represents the path constraint in i-th branch, P
n' represent P
nnegate;
112.
wherein I
i(1≤i≤p) represents the new input that the path constraint after according to variation calculates;
113.
represent that the program based on new input performs, obtain new path constraint, then continue step 111;
For making to obtain the constraint of more new route in a semiology analysis, thus reduce the number of times of semiology analysis, a kind of individual path Mutation Strategy at the same level is used in this method, as shown in Figure 2, BR1 and BR4 is one-level branch, and BR2 and BR3 is secondary branch, to the path of branch at the same level, directly negate can generate new path, the path as BR1 and BR4 can generate (11,10,01,00) four new route constraints, and need not carry out four sub-symbol execution.
Step e: use solver to calculate the input meeting new route, this input program of giving again performed, enter rounds of iterative process, until no longer produce new route;
In sum, automatically collect the path constraint of binary code, and generate the input use-case that can detect new route with having guidance quality be core of the present invention, after given binary code, according to constantly iteration execution, collection, processing procedure, the input use-case corresponding to different path can be generated, the object improving code coverage can be reached, can be used for test and the Hole Detection of windows platform binary code.
Claims (1)
1. a dynamic binary code method for generating test case, is characterized in that: the concrete steps of the method are as follows:
Steps A. realize dynamic instrumentation framework when binary code runs, observe binary implementation;
Multidate information during operation comprises the value of register, whether memory read-write address, branch are performed information, realizes the monitoring to above information by binary code instrumentation instrument;
The information during dynamic operation that step B. collects according to dynamic instrumentation framework, translates into intermediate language binary code; During dynamic operation, information comprises instruction, register, internal storage access information;
Described intermediate language is not identical with the intermediate language that produces of static state, is converted into an x86_Calculate_Condition statement when intermediate language of static lower translation runs into branch instruction, and whether redirect is can not determine in expression; And the intermediate language dynamically generated, jump instruction has been determined, or redirect or order perform;
Step C., according to the input point information recorded in dynamic instrumentation framework, using input point as symbol, propagates the implementation relevant to input point, collects path constraint in each bifurcation; Comprise command line parameter, file and network interface; The address of command line parameter directly obtains, and file and network interface need hooking system service call, and this process completes in plug-in mounting framework;
The path constraint that step D. will collect, obtains new path constraint by variation routing algorithm, this new path constraint is converted into the discernible query statement of solver;
The path constraint collected comprises path string (0|1)
*, wherein 0 represents in the non-redirect in branch instruction place, and 1 represents at branch instruction place redirect; For describing variation routing algorithm, introduce following symbol:
Exec (): represent executive routine process, parameter is the input that program performs, and returns the set of present procedure execution route constraint;
Solve (): represent solution procedure, parameter is the set of path constraint, returns the input set meeting this path constraint;
Vari (): represent path mutation process, parameter is that last program performs the path constraint collected, and returns a new path constraint;
The process in variation path is as follows:
111.
wherein P
irepresent the path constraint in i-th branch, P
n' represent P
nnegate; Wherein, 1≤i≤n;
112.
wherein I
irepresent the new input that the path constraint after according to variation calculates; Wherein, 1≤i≤p
113.
represent that the program based on new input performs, obtain new path constraint, then continue step 111; Wherein, m>=0;
For making to obtain the constraint of more new route in a semiology analysis, thus reduce the number of times of semiology analysis, a kind of individual path Mutation Strategy at the same level is used in this method, BR1 and BR4 is one-level branch, BR2 and BR3 is secondary branch, and to the path of branch at the same level, direct negate generates new path, coordinates measurement (11,10,01,00) four new route constraints of BR1 and BR4, and four sub-symbol execution need not be carried out;
Step e. use solver to calculate new route about intrafascicular, input the condition that need meet, relend and help dynamic instrumentation framework to give binary code the new input produced again to perform;
Wherein, the binary code described in steps A is the x86 machine code under windows platform; The dynamic instrumentation framework of described binary code, comprising:
A1. at the complete rear plug-in mounting of every bar instruction;
A2. the plug-in mounting when each thread starts;
A3. the plug-in mounting when each dynamic link library is loaded;
A4. the execution context of every bar instruction is recorded;
A5. each internal storage access information is recorded;
A6. record branch instruction whether to be performed;
Wherein, in the intermediate language described in step B, comprise three kinds of storage mediums:
B11. temporary variable, provisional application in each fundamental block, for realizing static single assignment, is the medium between register and internal memory;
B12. register, identical with the register in machine instruction, read-write register uses Get and Put in intermediate language to operate;
B13. internal memory, memory address is represented by constant or temporary variable, and read/write memory uses LDle and STle in intermediate language to operate;
Wherein, the intermediate language described in step B is made up of statement IRStmt, and statement IRStmt comprises:
B21.IMark statement, represents the entrance and mark of each fundamental block, comprising the corresponding start address of machine instruction of this fundamental block and the byte number of this machine instruction;
B22.Put statement, represents the value of temporary variable write register;
B23.Store statement, represents the value write memory temporary variable;
B24.IRDirty statement, represents the function calling spinoff;
B25.Exit statement, represents the outlet of fundamental block;
Wherein, described statement IRStmt is made up of expression formula IRExpr, and expression formula IRExpr comprises:
B31.Get expression formula, represents read value from register;
B32.Tmp expression formula, represents temporary variable;
B33.Binop expression formula, represents dual operation;
B34.Unop expression formula, represents unary operation;
B35.Load expression formula, represents read value from internal memory;
B36.Const expression formula, represents constant;
B37.MuxOX expression formula, represents if-then-else statement;
Wherein, the input point described in step C comprises three kinds of situations:
Command line parameter: the parameter transmitted when program is run;
Files classes input: represent by ReadFile file reading content, as input;
Network inputs: represent by the content in Recv, RecvFrom reading network, as input;
Wherein, described in step C using input point as symbol, namely communication symbol method is carried out on intermediate language, needs to consider following several situation:
C1.Put operates, and checks whether assignment depends on input to the temporary variable of register;
C2., when assignment is to temporary variable, lvalue needs to consider following several situation:
C21. read from temporary variable, check whether this temporary variable depends on input;
C22. read from internal memory, check whether the value in this internal memory depends on input;
C23. read from register, check whether this register depends on input;
C24. unary operation and dual operation, checks whether operand depends on input;
C3.Store operates, and checks whether the temporary variable of write memory depends on input;
Whether wherein, the path constraint will collected described in step D, obtains new path constraint by variation routing algorithm, comprises dual operation, unary operation, displacement operation, have sign extended, without sign extended, compare operation and redirect mark;
Wherein, the discernible query statement of solver described in step D comprises following several element:
The variable declarations of D1.BITVECTOR (X) type, represents the array of X Boolean variable; Statement need mix with ASSERT statement, and each ASSERT reception comprises the expression formula of declared variable as parameter;
D2. the modification of arithmetical predicate and compare operation; BVLT is one and is signlessly less than comparison predicate, and BVSLT has being less than of symbol to compare;
D3. the array of the bit vectors of bit vectors index; For using such array, need state the variable of new ARRAYBITVECTOR (X) OFBITVECTOR (Y) type, X represents that the size of group address and each item are the bit vectors of Y position; STP allows array variable index, is the bit vectors of certain length or the subset of long bit vectors; So just represent from a symbol memory address read value simply.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210243495.1A CN102799529B (en) | 2012-07-13 | 2012-07-13 | A kind of dynamic binary code method for generating test case |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210243495.1A CN102799529B (en) | 2012-07-13 | 2012-07-13 | A kind of dynamic binary code method for generating test case |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102799529A CN102799529A (en) | 2012-11-28 |
CN102799529B true CN102799529B (en) | 2015-11-25 |
Family
ID=47198642
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210243495.1A Expired - Fee Related CN102799529B (en) | 2012-07-13 | 2012-07-13 | A kind of dynamic binary code method for generating test case |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102799529B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11822673B2 (en) | 2021-08-05 | 2023-11-21 | International Business Machines Corporation | Guided micro-fuzzing through hybrid program analysis |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019862B (en) * | 2012-12-13 | 2015-08-19 | 北京神州绿盟信息安全科技股份有限公司 | A kind of symbolic excution methodology, Apparatus and system |
CN103218205B (en) * | 2013-03-26 | 2015-09-09 | 中国科学院声学研究所 | A kind of circular buffering device and circular buffering method |
CN104346542B (en) * | 2013-07-24 | 2018-03-20 | 阿里巴巴集团控股有限公司 | bug excavation method and device based on binary program |
CN103617114B (en) * | 2013-10-23 | 2016-03-02 | 江苏大学 | Based on third party's component vulnerability test method of condition and parameter variation |
CN104077226B (en) * | 2014-07-07 | 2015-05-13 | 西安交通大学 | Multithreaded program output uniqueness detection and evidence generation method based on program constraint building |
CN104331364A (en) * | 2014-10-21 | 2015-02-04 | 江苏通付盾信息科技有限公司 | Detection method for mobile-platform application software |
CN104375942B (en) * | 2014-12-11 | 2017-02-08 | 无锡江南计算技术研究所 | Binary oriented hybrid fuzzing method |
CN104536897B (en) * | 2015-01-16 | 2018-02-13 | 安一恒通(北京)科技有限公司 | Automatic test approach and system based on keyword |
CN107193731B (en) * | 2017-05-12 | 2020-10-27 | 北京理工大学 | Fuzzy test coverage improvement method using control variation |
CN107180193B (en) * | 2017-06-22 | 2020-03-27 | 南京大学 | Method and device for converting program code into data constraint |
CN107358106A (en) * | 2017-07-11 | 2017-11-17 | 北京奇虎科技有限公司 | Leak detection method, Hole Detection device and server |
CN109086215B (en) * | 2018-10-18 | 2021-11-16 | 北京轩宇信息技术有限公司 | Embedded software unit test case generation method and system |
CN114462044A (en) * | 2021-12-30 | 2022-05-10 | 中国科学院信息工程研究所 | UEFI (unified extensible firmware interface) firmware vulnerability static detection method and device based on taint analysis |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101996132A (en) * | 2009-08-14 | 2011-03-30 | 中兴通讯股份有限公司 | Method and device for automatically testing common object request broker architecture (CORBA) interfaces |
CN102222035A (en) * | 2011-07-25 | 2011-10-19 | 公安部第三研究所 | Software behavior detection system based on symbolic execution technology and detection method thereof |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5425699B2 (en) * | 2010-04-30 | 2014-02-26 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Information processing apparatus, test case generation method, program, and recording medium |
-
2012
- 2012-07-13 CN CN201210243495.1A patent/CN102799529B/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101996132A (en) * | 2009-08-14 | 2011-03-30 | 中兴通讯股份有限公司 | Method and device for automatically testing common object request broker architecture (CORBA) interfaces |
CN102222035A (en) * | 2011-07-25 | 2011-10-19 | 公安部第三研究所 | Software behavior detection system based on symbolic execution technology and detection method thereof |
Non-Patent Citations (1)
Title |
---|
基于符号化执行的Fuzzing测试集动态生成技术研究;陈建敏;《中国硕士学位论文全文数据库 信息科技辑》;20120315(第3期);第12-24、34-43页 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11822673B2 (en) | 2021-08-05 | 2023-11-21 | International Business Machines Corporation | Guided micro-fuzzing through hybrid program analysis |
Also Published As
Publication number | Publication date |
---|---|
CN102799529A (en) | 2012-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102799529B (en) | A kind of dynamic binary code method for generating test case | |
CN102073587B (en) | Static detection method for inaccessible route in program | |
Jonsson et al. | Compositional testing preorders for probabilistic processes | |
CN109344476B (en) | CIM model-based power distribution network single line diagram line branch structure generation method and device | |
CN103605606B (en) | A kind of embedded software test use-case batch execution method that can automatically change | |
CN101339501A (en) | WS-BPEL control loop detection method based on directed graph | |
CN113497809B (en) | MIPS framework vulnerability mining method based on control flow and data flow analysis | |
JP6342129B2 (en) | Source code error position detection apparatus and method for mixed mode program | |
Noureddine et al. | Unit testing of energy consumption of software libraries | |
CN103049377B (en) | Based on the parallel symbol manner of execution of path cluster reduction | |
CN111367786B (en) | Symbol execution method, electronic equipment and storage medium | |
CN106294148A (en) | C programmer software verification method based on escape character transition system and device | |
CN105044653A (en) | Software conformance detection method for smart electric meters | |
CN103294596A (en) | Early warning method for contract-type software fault based on program invariants | |
CN110109816A (en) | Test cases selection method and apparatus | |
US10303468B2 (en) | Real-time quality of service monitoring apparatus and method | |
Poole et al. | A method to determine a basis set of paths to perform program testing | |
CN109800152A (en) | A kind of automated testing method and terminal device | |
CN106557412A (en) | A kind of method and device of fuzz testing | |
CN106294053A (en) | A kind of internal memory performance method of testing and device | |
CN105718373B (en) | Meet the code coverage generation method of DO-178C | |
Zhang | An Approach for Extracting UML Diagram from Object-Oriented Program Based on J2X | |
Pettersson et al. | Efficient and accurate software pattern detection | |
Bartsch et al. | Efficient SAT/simulation-based model generation for low-level embedded software. | |
Zhai et al. | Performance Analysis of Parallel Applications for HPC |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20151125 Termination date: 20180713 |