Software failure positioning method based on machine learning algorithm

A locating method and technology for software faults, applied in software testing/debugging, instruments, calculations, etc., and can solve problems such as low locating efficiency

Inactive Publication Date: 2016-08-24
北京京航计算通讯研究所
View PDF2 Cites 47 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

[0005] In order to overcome the shortcomings of low positioning efficiency of existing software fault location methods, the present invention provides a software fault location method based on machine learning algorithms

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 failure positioning method based on machine learning algorithm
  • Software failure positioning method based on machine learning algorithm
  • Software failure positioning method based on machine learning algorithm

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0045] refer to Figure 1-8 . The specific steps of the software fault location method based on the machine learning algorithm of the present invention are as follows:

[0046] (1) First, the execution information of the program is acquired. Because the collection of program execution information in the present invention all runs under the GNU / Linux environment, and the test suite is all written in standard C language, so in the research work of the present invention, all programs adopt the GNU standard compiler GCC (GNU Compiler Collection ) to compile. In the step of collecting test samples, the Gcov tool is mainly used. Gcov is a console program in the form of a command line. It cooperates with GCC to perform program instrumentation and coverage analysis on C / C++ files. First compile the file to be tested, the compilation command is:

[0047] gcc-O2test.c-I.-fprofile-arcs-ftest-coverage-o test.exe

[0048] This command generates the test.gcno file required by gcov wh...

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 discloses a software failure positioning method based on machine learning algorithm to solve the technical problem of low positioning efficiency of existing software failure positioning methods. According to the technical scheme, the method comprises the steps of describing failure distribution possibly existing in an actual program based on Gaussian mixture distribution to enable failure distribution in the program to be more definite; removing redundant test samples with a cluster analysis method based on a Gaussian mixture model, and finding a special test set for a specific failure, so that the adverse effect of redundant use cases on positioning precision is reduced; remodifying a support vector machine model to be adapted to an unbalanced data sample, and finding the nonlinear mapping relation between use case coverage information and an execution result by means of the parallel debugging theory, so that machine learning algorithm is free from the local optimal solution problem caused by uneven samples; finally, designing a virtual test suite, placing the virtual test suite in a well trained model for prediction, obtaining a statement equivocation value ranking result, and conducting failure positioning. In this way, software failure positioning efficiency is improved.

Description

technical field [0001] The invention relates to a software fault location method, in particular to a software fault location method based on a machine learning algorithm. Background technique [0002] Software testing occupies a lot of manpower and material resources in the software development process, and fault location is one of the most costly behaviors in testing. Therefore, people propose automatic fault location technology to analyze program source code and program behavior and results during testing, so as to locate software faults. At present, experts at home and abroad have put forward many theories and methods in the field of automatic fault location, and have achieved certain results. [0003] Wong et al proposed a fault localization based on backpropagation (BP) neural network in the document "BP Neural Network-based Effective FaultLocalization.International Journal of Software Engineering and Knowledge Engineering, 2009,19(4):573-597" technology. They use th...

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
CPCG06F11/3676G06F11/3684G06F11/3688
Inventor 郑炜柏晗刘文兴王文鹏谭海斌
Owner 北京京航计算通讯研究所
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