Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

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 inability to locate complex faults, and achieve the effects of solving complex faults that cannot be located, improving work efficiency, and improving accuracy

Inactive Publication Date: 2012-11-21
THE PLA INFORMATION ENG UNIV
View PDF2 Cites 35 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

[0017] Example 1: see figure 1 , The present invention uses the software failure analysis method of multi-sample difference comparison, and its steps include:

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

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

[0020] 3) Select the data processing entry point as the base point for comparison, build a multi-sample difference tree model, group multiple samples in pairs to compare the control flow graph, find the key differences that lead to different branches of the control flow, and obtain incorrect data input The critical path from point to point of difference.

Embodiment 2

[0021] Example 2: see figure 2 , The software failure analysis method using multi-sample difference comparison of this embodiment is different from the first embodiment: 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 multiple basic blocks, and the flow is as follows:

[0022] (1) Analyze the PE structure of the executable file, including the load base address of the executable file, the name of the module to be loaded, the section table (Section Table), the file size, the alignment, the alignment granularity, and the import table (Import Table) Output table (Export Table) and other information.

[0023] (2) Identify import and export functions, combine the structure of the PE file with the information output by the disassembly, identify the import and export functions of the executable file, including their function names and addr...

Embodiment 3

[0028] Example three: see image 3 This embodiment uses the software failure analysis method of multi-sample difference comparison. The difference from the second embodiment is that the process of dynamic instrumentation of the analyzed program is as follows:

[0029] 1) Establish a dynamic debugging framework: Establish a standard debugging framework in accordance with the Windows system software debugging framework provided by Microsoft. The framework sets memory breakpoints, environment context sampling, and instruction flow tracking and recording debugging characteristics based on basic blocks;

[0030] 2) Instruction flow single-step tracking, condition tracking and data flow read-write tracking.

[0031] It includes the following steps:

[0032] (1) Establish a dynamic debugging framework: Establish a standard debugging framework in accordance with the Windows system software debugging framework provided by Microsoft. Various debugging features are added to the framework accordin...

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 present 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 causes of errors after detecting and discovering logical and functional errors in the software. Fuzzing 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 failure analysis is software analysis technology. According to different analysis goals, existing software analysis techniques are generally divided into source code-oriented software analysis and executable program-oriented software analysis. The former is for programs with source code, and relatively speaking, the analysis accuracy is hi...

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 Applications(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 Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products