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 PDF

Info

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
Application number
CN201210243495.1A
Other languages
Chinese (zh)
Other versions
CN102799529A (en
Inventor
李舟军
马金鑫
忽朝俭
章张锴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University
Original Assignee
Beihang University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University filed Critical Beihang University
Priority to CN201210243495.1A priority Critical patent/CN102799529B/en
Publication of CN102799529A publication Critical patent/CN102799529A/en
Application granted granted Critical
Publication of CN102799529B publication Critical patent/CN102799529B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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

A kind of dynamic binary code method for generating test case
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.
CN201210243495.1A 2012-07-13 2012-07-13 A kind of dynamic binary code method for generating test case Expired - Fee Related CN102799529B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
基于符号化执行的Fuzzing测试集动态生成技术研究;陈建敏;《中国硕士学位论文全文数据库 信息科技辑》;20120315(第3期);第12-24、34-43页 *

Cited By (1)

* Cited by examiner, † Cited by third party
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