CN114138669A - Software automatic testing method based on function level selection symbolized mixed execution - Google Patents

Software automatic testing method based on function level selection symbolized mixed execution Download PDF

Info

Publication number
CN114138669A
CN114138669A CN202111510194.6A CN202111510194A CN114138669A CN 114138669 A CN114138669 A CN 114138669A CN 202111510194 A CN202111510194 A CN 202111510194A CN 114138669 A CN114138669 A CN 114138669A
Authority
CN
China
Prior art keywords
symbolic
complex function
function
execution
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.)
Pending
Application number
CN202111510194.6A
Other languages
Chinese (zh)
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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202111510194.6A priority Critical patent/CN114138669A/en
Publication of CN114138669A publication Critical patent/CN114138669A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention discloses a software automatic testing method based on function level selection symbolized mixed execution, which comprises the following steps: s1, determining a complex function contained in a software program, and generating a complex function set; s2, collecting path constraints of the software to be tested by using a symbolic execution method, skipping symbolic execution of the complex function F when the complex function F belongs to the complex function set, creating a symbolic method calling expression F 'for representing symbolic execution of the complex function F, and generating the path constraints containing the symbolic method calling expression F'; s3, dividing all path constraints collected in the step S2 into a related part constraint P1 and an unrelated part constraint P2 which comprise a symbolic method calling expression F', solving actual values of symbolic variables contained in the unrelated part constraint P2 by using a solver, then solving the P1 by a fuzzy test Fuzzing method, and generating a new test case; the invention can find the software bugs more accurately and efficiently.

Description

Software automatic testing method based on function level selection symbolized mixed execution
Technical Field
The invention relates to the technical field of software testing, in particular to a software automatic testing method based on function level selection symbolized mixed execution.
Background
With the increasing development of information technology, software has penetrated into various fields of social development, however, the software development process is complex, software bugs can be generated once the software is not developed properly, and unnecessary loss is caused in the use process of the software. Software testing is a main method for detecting software bugs, and the mainstream method in the industry at present is to test the quality of software products by manually designing test cases, however, manually generating test cases is generally inefficient, costly and prone to errors. The software bug can be regarded as an error statement hidden under a certain condition, and in order to improve the probability of finding the software bug by software testing, the software testing aims to generate a test case with high code coverage rate for a program to be tested. Coverage-oriented fuzz testing and symbol execution are two testing techniques that are currently widely studied and used.
The fuzzy testing method is that after an initial test case is set, target software is dynamically executed, existing test cases are selected to carry out random variation based on coverage rate, so that a new test case is generated, the process is continuously repeated until more branches or statements cannot be covered, and when the test case is dynamically executed, if abnormal breakdown of the software is detected, software bugs are found. Because the fuzzy test adopts random variation, a test case which can directly cover complex conditions is difficult to generate, and the test efficiency is often low.
Symbolic execution is an accurate software testing method for exploring program paths, and the symbolic execution extracts symbolic paths from a program and generates test cases according to the path conditions of each symbolic path. Symbolic execution exploits constraint solving to efficiently explore paths, especially for paths with low probability. However, symbol execution often suffers from the following problems: one, challenge of complex constraint solution: constraint solving is the basis of symbolic execution, all path constraints in the symbolic execution process can call a constraint solver to solve and judge the accessibility of the path, and when complex constraint solving is met, such as a complex nonlinear condition exists in a program, the solver is frequently called due to the fact that some path constraints are too large in size or difficult to solve, and most resources consumed by the constraint solving even cause symbolic execution failure; challenge of environmental modeling problem: when the program being analyzed calls a function in a third party library, the source code of which is not available, symbolic execution may not explore the entire path space of the program, and manual modeling processes the function call without the source code, but it is typically not automatic and requires a lot of manual work.
Existing complex constraint solving and environment modeling methods can be divided into two categories: an upper approximation method and a lower approximation method. The upper approximation method reduces complex constraints into simple constraints, for example, linear constraints are used for over-approximating nonlinear constraints, and new symbolic variables are introduced for function calls without source codes; the lower approximation method simplifies complex constraints by using specific values instead of symbolic values and using specific executions to execute functions without the need for source code. However, both the upper approximation method and the lower approximation method have obvious defects, and the upper approximation method causes inaccurate symbol execution and produces wrong results; the lower approximation method may cause path loss due to specific values or actual implementation, that is, the path space of the exploration program is not complete.
Disclosure of Invention
The invention aims to overcome the defects of the prior art and provides a software automatic testing method based on function level selection symbolized mixed execution, which can find software bugs more accurately and efficiently.
In order to solve the technical problems, the technical scheme provided by the invention is as follows:
a software automatic test method based on function level selection symbolized hybrid execution comprises the following steps:
s1, determining a complex function contained in a software program, and generating a complex function set;
s2, collecting path constraints of the software to be tested by using a symbolic execution method, skipping symbolic execution of the complex function F when the complex function F belongs to the complex function set, creating a symbolic method calling expression F 'for representing symbolic execution of the complex function F, and generating the path constraints containing the symbolic method calling expression F';
and S3, dividing all path constraints collected in the step S2 into a related partial constraint P1 containing a symbolic method calling expression F 'and an unrelated partial constraint P2 not containing the symbolic method calling expression F', solving the actual values of symbolic variables contained in the unrelated partial constraint P2 by using a solver, and then solving the P1 by using a fuzzy test Fuzzing method to generate a new test case.
Further, the complex function in step S1 is a function that satisfies a preset complex function rule, and/or a function that is preset as a complex function.
Further, the preset complex function rule is as follows: the function structure comprises multiple cycles or nonlinear operation.
Further, the creating of the symbolic method call expression F 'in step S2 is used to represent the execution of the complex function F, and the generating of the path constraint including the symbolic method call expression F' specifically includes: and (4) performing instrumentation on the complex function, and when the conditional statement contains the complex function collected by instrumentation, actually introducing a symbolic method calling expression F' into the path constraint generated by the conditional statement.
Further, the generated path constraint also includes a constraint related to a complex function in the context information.
Further, the fuzzy testing Fuzzing method in the step S3 in the step S3 includes: and constructing a dependency relation tree among the symbol variables, and sequentially carrying out fuzzy test on the symbol expressions according to the dependency sequence among the symbol variables in the dependency relation tree.
Further, the solver in step S3 is an SMT solver.
The invention also provides a software automatic testing device based on function level selection symbolized mixed execution, which comprises:
the complex function determining module is used for determining complex functions contained in the software program and generating a complex function set;
the path constraint collection module is used for collecting the path constraint of the software to be tested by using a symbol execution method, skipping the symbol execution of the complex function F when encountering the complex function F belonging to the complex function set, creating a symbol method calling expression F 'for representing the symbol execution of the complex function F, and generating the path constraint containing the symbol method calling expression F';
and the path solving module is used for dividing all the path constraints collected by the path constraint collection module into a related partial constraint P1 containing a symbolic method calling expression F 'and an unrelated partial constraint P2 not containing the symbolic method calling expression F', solving the actual values of symbolic variables contained in the unrelated partial constraint P2 by using a solver, and then solving the P1 by a fuzzy testing Fuzzing method to generate a new test case.
The invention also provides a computer device, comprising a processor and a memory, wherein the memory is used for storing a computer program, and the processor is used for executing the computer program to execute the method.
The invention also proposes a computer-readable storage medium having stored thereon a computer program which, when executed, implements the method described above.
Compared with the prior art, the invention has the advantages that:
(1) in the software test, a mode of combining fuzzy test execution and mixed symbol execution is adopted, and in the symbol execution process, the execution of complex functions is effectively avoided by introducing a symbol method to call an expression, so that the difficulty of path constraint modeling is reduced, on the other hand, the efficiency of constraint solving is improved by describing the complex functions in path constraint, the failure of symbol execution is avoided, the accuracy of symbol execution is guaranteed, the efficiency of symbol execution is effectively improved, and the software test effect of finding software bugs more accurately and efficiently is achieved.
(2) In the path constraint solving process, the part related to the symbolic method calling expression in the path constraint is divided, and the low-cost fuzzy is used for replacing a high-cost solver to solve, so that the time cost of constraint solving is reduced, and the software testing efficiency is effectively improved.
(3) The function of the complex function rule is preset before the symbol is executed, and/or the function of the complex function is preset, so that the recognition effect of the complex function can be effectively improved, the symbol execution efficiency is improved, and the software testing efficiency is improved.
Drawings
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention.
Fig. 1 is a software example program in the embodiment of the present invention.
FIG. 2 is a flowchart of a software automatic testing method based on function level selection symbolic hybrid execution according to an embodiment of the present invention.
FIG. 3 is a schematic diagram illustrating a process of solving a constraint of a software exemplary program according to a software automatic testing method for symbolic hybrid execution based on function level selection in an embodiment of the present invention.
Detailed Description
The invention is further described below with reference to the drawings and specific preferred embodiments of the description, without thereby limiting the scope of protection of the invention.
The method for automatically testing the software based on the function-level selection symbolized hybrid execution comprises the following steps:
s1, determining a complex function contained in a software program, and generating a complex function set;
s2, collecting path constraints of the software to be tested by using a symbolic execution method, skipping symbolic execution of the complex function F when the complex function F belongs to the complex function set, creating a symbolic method calling expression F 'for representing symbolic execution of the complex function F, and generating the path constraints containing the symbolic method calling expression F';
and S3, dividing all path constraints collected in the step S2 into a related partial constraint P1 containing a symbolic method calling expression F 'and an unrelated partial constraint P2 not containing the symbolic method calling expression F', solving the actual values of symbolic variables contained in the unrelated partial constraint P2 by using a solver, and then solving the P1 by using a fuzzy test Fuzzing method to generate a new test case.
In the software test of the embodiment, a mode of combining fuzzy test execution and mixed symbol execution is adopted, and in the symbol execution process, the execution of a complex function is effectively avoided by calling an expression by introducing a symbol method, so that the difficulty of path constraint modeling is reduced on one hand, and on the other hand, the efficiency of constraint solving is improved by describing the complex function in path constraint, the failure of symbol execution is avoided, the accuracy of symbol execution is guaranteed, the efficiency of symbol execution is effectively improved, and the software test effect of finding software bugs more accurately and efficiently is achieved.
In the path constraint solving process, the part of the path constraint related to the symbolic method calling expression is divided, and the low-cost fuzzy is used for replacing the high-cost solver for solving, so that the time cost of constraint solving is reduced, and the software testing efficiency is effectively improved.
According to the embodiment, the function of the complex function rule is preset before the symbol is executed, and/or the function of the complex function is preset, so that the recognition effect of the complex function can be effectively improved, the symbol execution efficiency is improved, and the software testing efficiency is improved.
In this embodiment, the complex function in step S1 is a function that satisfies a rule of a preset complex function, and/or a function that is preset as a complex function.
In this embodiment, the preset complex function rule is: the function structure comprises multiple cycles or nonlinear operation.
In this embodiment, the creating of the symbolic method call expression F ' in step S2 is used to represent the execution of the complex function F, and the generating of the path constraint including the symbolic method call expression F ' is specifically to perform instrumentation on the complex function to collect context information about the complex function, and when the conditional statement includes the instrumented complex function, the symbolic method call expression F ' is actually introduced into the path constraint generated by the conditional statement. The context information includes variable values, function call stacks, and the like. The path constraint is composed of a plurality of conditional statements, a plurality of expressions are combined to form a path constraint, when the conditional statements contain complex functions collected by instrumentation, the symbolic method calling expression F 'is introduced into the path constraint generated by the conditional statements, and the conditional statements can contain the symbolic method calling expression F'.
In this embodiment, the generated path constraint further includes a constraint related to a complex function in the context information.
In order to improve the efficiency of the Fuzzing method in step S3 in this embodiment, a dependency tree between symbol variables needs to be constructed, and the Fuzzing method is sequentially performed on symbol expressions according to a dependency order.
In this embodiment, the solver in step S3 is an SMT solver.
In general, a software testing framework based on mixed symbol execution is roughly divided into 4 steps: 1. actually executing the program by using the test case; 2. collecting path constraints for the conditional statements by using a symbolic execution technology in the process of actually executing the program; 3. after actual execution is finished, the symbol executor converts all collected path constraints into an SMT (surface mount technology) formula, selects a certain constraint to perform negation operation according to a search strategy, and then calls an SMT solver to perform solving to obtain a group of new test cases; 4. and continuing the next execution until the program is found to be crashed, and recording the test case causing the crash.
In this embodiment, when introducing a symbolic method call expression, the symbolic execution framework designed based on the software automatic test method for function-level selection symbolic hybrid execution optimizes the process of collecting path constraints in step 2, i.e., instrumentation is performed on a complex function, and mainly collects context information about the complex function, such as variable values, function call stacks, and the like. When the conditional statement contains a complex function collected by instrumentation, a symbolic method calling expression F' is actually introduced into the path constraint generated by the conditional statement. Furthermore, constraints associated with complex functions in the context information are also introduced, as needed.
Meanwhile, the solution is carried out by combining a fuzzy test fuzzy method, and the process of solving the path constraint in the step 3 is optimized. Since the expression for calling the symbolic method is introduced in the step 2, in order to solve the problem of the expression for calling the symbolic method which cannot be converted into the SMT formula, the present embodiment considers a constraint partitioning method, and gives the expression which cannot be processed by the SMT solver to the Fuzzing test Fuzzing, but the difficulty of the Fuzzing test Fuzzing lies in the input generated randomly, the value range of the input is too large, and it is difficult to quickly hit the required solution without guidance of additional information. The time overhead is greatly reduced because additional information is provided to guide the fuzzy test fuzzy fast hit solution.
The embodiment also includes a software automatic testing device based on function level selection symbolized hybrid execution, which includes:
the complex function determining module is used for determining complex functions contained in the software program and generating a complex function set;
the path constraint collection module is used for collecting the path constraint of the software to be tested by using a symbol execution method, skipping the symbol execution of the complex function F when encountering the complex function F belonging to the complex function set, creating a symbol method calling expression F 'for representing the symbol execution of the complex function F, and generating the path constraint containing the symbol method calling expression F';
and the path solving module is used for dividing all the path constraints collected by the path constraint collection module into a related partial constraint P1 containing a symbolic method calling expression F 'and an unrelated partial constraint P2 not containing the symbolic method calling expression F', solving the actual values of symbolic variables contained in the unrelated partial constraint P2 by using a solver, and then solving the P1 by a fuzzy testing Fuzzing method to generate a new test case.
The present embodiment also includes a computer apparatus, including a processor and a memory, the memory being used for storing a computer program, and the processor being used for executing the computer program to execute the method described above.
The present embodiment also includes a computer-readable storage medium storing a computer program that, when executed, implements the method described above.
Fig. 1 shows a software example program for automatically testing software in this embodiment, and the testing process of the software example program is as follows:
step S1: complex nonlinear operation is used for sin and cos functions in a program, and the solution is generally difficult to carry out; meanwhile, the function usually belongs to an external library function and satisfies a preset complex function rule, so in step 1 of this embodiment, sin and cos functions are determined as complex functions and added to a complex function set.
Step S2: collecting path constraints of a software example program by using a symbolic execution method, taking three incoming parameters a, b and c of the example program as symbolic variables, when the software example program is executed to an error () function, the collected path constraints are marked below in FIG. 1, sin (a) and cos (b) are introduced as symbolic method call expressions because sin and cos are in a complex function set, and the constraints related to the two complex functions are sin (a) > cos (b) and sin (a) > 0.
Step S3: dividing all collected path constraints into related partial constraints P1 comprising symbolic method call expressions sin (a) and cos (b): (sin (a)>cos(b)sin(a)>0) And an irrelevant partial constraint P2 that does not contain symbolic method invocation expressions: (a)>0b>0);
Assuming that the actual values of the symbol variables a and c given by the SMT solver are 5.0 and 1 respectively, the next step is carried out by fuzzy test fuzzy to solve;
when Fuzzing test Fuzzing, substituting a to 5.0 into the symbolic method call expression sin (a), it is found that P1 partial constraint is violated, the error reason is that there is related constraint sin (a) >0, sin (5.0) <0 violates the constraint, so the symbolic variable a cannot be equal to 5.0, and additional constraint a! Adding the value of 5.0 into a P2 constraint (the operation does not exceed a fixed iteration number, if a condition which is met is not found after the iteration number is exceeded, returning unknown as a solution of Fuzzing), and enabling an SMT solver to solve the P2 again and return a new solution;
the actual values of the symbol variables a and c given by the SMT solver are assumed to be 1.5 and 1 respectively; then, solving P1 by a fuzzy test fuzzy method;
finding that the constraint on sin (a) >0 is satisfied, the value of sin (a) is known, only the value of the sign variable b in the remaining constraints is unknown, and then repeatedly Fuzzing the value of b, and testing the satisfiability of the remaining constraints; it is found that when b is 1, the constraint of sin (a) > cos (b) can be satisfied, and the symbolic variables related to all the constraints are known, the solving process is ended, and the solution of a ═ 1.5, b ═ 1, and c ═ 1 is returned, i.e. the new test case is obtained.
It should be noted that, for the related partial constraint P1 (assuming that the P2 partial constraint is not currently considered) divided in the step S3 in the exemplary program test procedure: (sin (a)>cos(b)sin(a)>0) This constraint includes two complex functions sin and cos. FalseIt is assumed that cos (b) is fuzzified, when b is-3.14.. times, cos (b) is equal to-1, and sin (a) is fuzzified. The condition to be satisfied at this time is sin (a)>cos (b), then when a ═ 3, sin (a) is satisfied>cos (b), but not sin (a)>0. It is shown that if Fuzzing is performed in the random order, it is likely to cause many times of Fuzzing invalidation, and the solution time increases.
In this example, since sin (a) >0 is partially constant 0, this constraint has an implicit requirement on the value range of a, that is, when Fuzzing satisfies sin (a) >0, the actual value of sin (a) is generated, then sin (a) of sin (a) > cos (b) becomes constant, and then Fuzzing cos (b) can determine the value of b more quickly, so as to satisfy the overall constraint.
Therefore, in order to improve the efficiency of the Fuzzing testing Fuzzing method in step S3, the procedure needs to construct a dependency tree between the symbolic variables: 0- > sin (a) - > cos (b); and the symbol expressions are subjected to fuzzy testing in sequence according to the dependence sequence, so that the efficiency of automatic software testing is further accelerated.
Fig. 2 is a flowchart of a software automatic testing method based on function-level selection symbolic hybrid execution in this embodiment.
Fig. 3 shows a process of solving the constraint of the software exemplary program by the software automatic testing method based on function-level selection symbolic hybrid execution in the embodiment.
The foregoing is considered as illustrative of the preferred embodiments of the invention and is not to be construed as limiting the invention in any way. Although the present invention has been described with reference to the preferred embodiments, it is not intended to be limited thereto. Therefore, any simple modification, equivalent change and modification made to the above embodiments according to the technical spirit of the present invention should fall within the protection scope of the technical scheme of the present invention, unless the technical spirit of the present invention departs from the content of the technical scheme of the present invention.

Claims (10)

1. A software automatic test method based on function level selection symbolized hybrid execution is characterized by comprising the following steps:
s1, determining a complex function contained in a software program, and generating a complex function set;
s2, collecting path constraints of the software to be tested by using a symbolic execution method, skipping symbolic execution of the complex function F when the complex function F belongs to the complex function set, creating a symbolic method calling expression F 'for representing symbolic execution of the complex function F, and generating the path constraints containing the symbolic method calling expression F';
and S3, dividing all path constraints collected in the step S2 into a related partial constraint P1 containing a symbolic method calling expression F 'and an unrelated partial constraint P2 not containing the symbolic method calling expression F', solving actual values of symbolic variables contained in the unrelated partial constraint P2 by using a solver, and then solving the related partial constraint P1 by using a fuzzy test Fuzzing method to generate a new test case.
2. The method for software automatic test based on function-level selective symbolic mixed execution according to claim 1, wherein the complex function in step S1 is a function satisfying a preset complex function rule and/or a function preset as a complex function.
3. The software automatic test method based on function-level selective symbolic hybrid execution according to claim 2, wherein the preset complex function rule is: the function structure comprises multiple cycles or nonlinear operation.
4. The method for software automatic test based on function-level selective symbolic mixed execution according to claim 1, wherein the creating symbolic method call expression F 'in step S2 is used to represent symbolic execution of a complex function F, and the generating the path constraint containing the symbolic method call expression F' specifically comprises: and (3) performing instrumentation on the complex function, and when the conditional statement contains the instrumented complex function, introducing the symbolic method calling expression F' into the conditional statement to generate path constraint.
5. The method according to claim 4, wherein the generated path constraints further include constraints related to complex functions in context information.
6. The software automatic test method based on function level selection symbolized hybrid execution according to any one of claims 1 to 5, characterized in that said fuzzy test Fuzzing method step in step S3 comprises: and constructing a dependency relation tree among the symbol variables, and sequentially carrying out fuzzy test on the symbol expressions according to the dependency sequence among the symbol variables in the dependency relation tree.
7. The software automatic test method based on function level selection symbolized hybrid execution according to any one of claims 1 to 5, wherein said solver is an SMT solver, and said step S3 further comprises defining a value space of said fuzzy test fuzzy method by using values solved by said SMT solver.
8. An automatic software testing device for selecting symbolic hybrid execution based on function level, comprising:
the complex function determining module is used for determining complex functions contained in the software program and generating a complex function set;
the path constraint collection module is used for collecting the path constraint of the software to be tested by using a symbol execution method, skipping the symbol execution of the complex function F when encountering the complex function F belonging to the complex function set, creating a symbol method calling expression F 'for representing the symbol execution of the complex function F, and generating the path constraint containing the symbol method calling expression F';
and the path solving module is used for dividing all the path constraints collected by the path constraint collection module into a related partial constraint P1 containing a symbolic method calling expression F 'and an unrelated partial constraint P2 not containing the symbolic method calling expression F', solving the actual values of symbolic variables contained in the unrelated partial constraint P2 by using a solver, and then solving the P1 by a fuzzy testing Fuzzing method to generate a new test case.
9. A computer arrangement comprising a processor and a memory, the memory being adapted to store a computer program, the processor being adapted to execute the computer program, wherein the processor is adapted to execute the computer program to perform the method according to any of claims 1-6.
10. A computer-readable storage medium storing a computer program, wherein the computer program when executed implements the method of any one of claims 1 to 8.
CN202111510194.6A 2021-12-10 2021-12-10 Software automatic testing method based on function level selection symbolized mixed execution Pending CN114138669A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111510194.6A CN114138669A (en) 2021-12-10 2021-12-10 Software automatic testing method based on function level selection symbolized mixed execution

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111510194.6A CN114138669A (en) 2021-12-10 2021-12-10 Software automatic testing method based on function level selection symbolized mixed execution

Publications (1)

Publication Number Publication Date
CN114138669A true CN114138669A (en) 2022-03-04

Family

ID=80385864

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111510194.6A Pending CN114138669A (en) 2021-12-10 2021-12-10 Software automatic testing method based on function level selection symbolized mixed execution

Country Status (1)

Country Link
CN (1) CN114138669A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114817927A (en) * 2022-03-30 2022-07-29 北京邮电大学 Effective symbol execution method and device based on branch covering guidance

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114817927A (en) * 2022-03-30 2022-07-29 北京邮电大学 Effective symbol execution method and device based on branch covering guidance
CN114817927B (en) * 2022-03-30 2024-01-09 北京邮电大学 Effective symbol execution method based on branch coverage guidance

Similar Documents

Publication Publication Date Title
Zhang et al. A constraint solver and its application to path feasibility analysis
US8645761B2 (en) Precise fault localization
CN111104335B (en) C language defect detection method and device based on multi-level analysis
EP2555117A1 (en) Code inspection executing system for performing a code inspection of abap source codes
US20140344633A1 (en) Path-sensitive analysis framework for bug checking
Ghandehari et al. A combinatorial testing-based approach to fault localization
Chen et al. Coverage prediction for accelerating compiler testing
US20130091495A1 (en) Feedback-directed random class unit test generation using symbolic execution
Calvagna et al. A formal logic approach to constrained combinatorial testing
CN110059006B (en) Code auditing method and device
CN108984416B (en) Method for evaluating dependency conflict danger level in Maven environment
CN108763064B (en) Code test generation method and device based on black box function and machine learning
US11249888B1 (en) System and method for generating counterexample tests of incidental invariants
Kang et al. A preliminary evaluation of llm-based fault localization
CN114138669A (en) Software automatic testing method based on function level selection symbolized mixed execution
CN109032946B (en) Test method and device and computer readable storage medium
EP2820547B1 (en) Debugging method and computer program product
CN113688403A (en) Intelligent contract vulnerability detection method and device based on symbolic execution verification
Bergel et al. Beacon: Automated Test Generation for Stack-Trace Reproduction using Genetic Algorithms
CN114462043A (en) Java anti-serialization vulnerability detection system and method based on reinforcement learning
CN113807077A (en) Natural language test script parsing processing method and device and electronic equipment
WO2021104027A1 (en) Code performance testing method, apparatus and device, and storage medium
Sabharwal et al. Identifying interactions for combinatorial testing using data flow techniques
CN116383070B (en) Symbol execution method for high MC/DC
CN117520199B (en) Numerical software defect detection method and device based on static symbol execution

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination