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.