Software fault analysis method based on multi-sample difference comparison

A software fault and analysis method technology, applied in the field of software analysis, can solve problems such as complex faults that cannot be located, and achieve the effects of solving complex faults that cannot be located, improving accuracy, and improving work efficiency

Inactive Publication Date: 2015-04-15
THE PLA INFORMATION ENG UNIV
View PDF2 Cites 0 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

[0005] Aiming at the shortcomings of the current two-sample difference comparison method, the present invention proposes a software fault analysis method using multi-sample difference comparison
It effectively solves the problem that the double-sample difference comparison method cannot locate complex faults, and significantly improves the efficiency of software fault analysis

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Software fault analysis method based on multi-sample difference comparison
  • Software fault analysis method based on multi-sample difference comparison
  • Software fault analysis method based on multi-sample difference comparison

Examples

Experimental program
Comparison scheme
Effect test

Embodiment 1

[0023] Embodiment one: see figure 1 , the present invention uses the software failure analysis method of multi-sample difference comparison, and its steps comprise:

[0024] 1) Disassemble and dynamically insert the analyzed program;

[0025] 2) Track and record the execution instruction flow of the program to be analyzed, and construct the control flow graph of the program with the basic block as the smallest unit. The basic block is defined as the instruction between the previous jump instruction and the next jump instruction in the execution instruction flow gather;

[0026] 3) Select the data processing entry point as the base point for comparison, build a multi-sample difference tree model, compare multiple samples in pairs for control flow graph comparison, find the key difference points that cause the control flow to go to different branches, and obtain wrong data input Point to the critical path between each difference point, the specific steps are as follows:

[00...

Embodiment 2

[0033] Embodiment two: see figure 2 , the software failure analysis method using multi-sample difference comparison in this embodiment is different from Embodiment 1 in that: further, in step 1), the binary data stream is reversely restored to assembly code according to the x86 instruction set specification, according to The jump instruction divides the assembly code into several basic blocks, and its flow is as follows:

[0034] (1.1) Analyze the PE structure of the executable file, including the loading base address of the executable file, the name of the module to be loaded, Section Table, file size, alignment, alignment granularity, and Import Table Export table (Export Table) and other information.

[0035] (1.2) Identify the import and export functions, combine the PE file structure with the disassembly output information, identify the import and export functions of the executable file, including their function names and addresses, and provide data for instruction flow...

Embodiment 3

[0040] Embodiment three: see image 3 , this embodiment uses the software failure analysis method of multi-sample difference comparison, which is different from Embodiment 2 in that: the process of dynamically inserting the analyzed program is as follows:

[0041] 1.1a) Establish a dynamic debugging framework: establish a standard debugging framework according to the specifications of the Windows system software debugging framework provided by Microsoft, set memory breakpoints inside the framework, sample the environment context, and trace the instruction stream by basic blocks and record debugging features;

[0042] 1.2a) Instruction flow single-step trace, condition trace and data flow read and write trace.

[0043] Specifically include the following steps:

[0044] (1.1b) Establish a dynamic debugging framework: establish a standard debugging framework according to the specifications of the Windows system software debugging framework provided by Microsoft, and add various ...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

No PUM Login to view more

Abstract

The invention relates to a software analysis method belonging to the technical field of computers, and particularly relates to a software fault analysis method based on multi-sample difference comparison. The method comprises the steps as follows: (1) executing disassemble and dynamic instrumentation of an analyzed program; (2) tracking and recording an execution instruction flow of a program to be analyzed and constructing control flow graphs of the program, which take a basic block as the minimum unit; and (3) selecting a data processing access point as a comparison basic point, constructing a multi-sample difference tree model, executing comparison of control flow graphs of multiple samples which are divided into several groups, wherein each group consists of two samples, finding out a key instruction flow branch point, and acquiring a key path from a false data input point to each difference point. The software fault analysis method, provided by the invention, effectively solves the problem that a dual-sample difference comparison method cannot achieve positioning of complex faults, thereby remarkably improving analysis efficiency of software faults.

Description

technical field [0001] The invention relates to a software analysis method in the field of computer technology, in particular to a software failure analysis method using multi-sample difference comparison. Background technique [0002] Software failure analysis refers to the analysis of the cause of the error after detecting and discovering the logic and function errors in the software. Fuzz testing is one of the commonly used methods to find software errors. The principle is to try to trigger various paths of program execution by constructing different inputs to expose potential security problems of the program. [0003] The basis of software fault analysis is software analysis technology. According to different analysis objectives, existing software analysis techniques are generally divided into source code-oriented software analysis and executable program-oriented software analysis. The former is aimed at programs with source code, relatively speaking, the analysis accu...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Application Information

Patent Timeline
no application Login to view more
Patent Type & Authority Patents(China)
IPC IPC(8): G06F11/36
Inventor 魏强彭建山尹中旭王振兴方圆张咪杨欣任栋
Owner THE PLA INFORMATION ENG UNIV
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products