Patent ID: 8732676
Filing Date: 2014-05-20
Classification: G06F

Abstract:
1. A method for testing a computer software system based on execution paths, the method comprising: executing a computer program to obtain an original execution paths of the computer program; recording the original execution paths; selecting a first decision point on an executed path from the recorded original execution paths; analyzing conditions that govern the selected first decision point and subsequent decision points along a first path to detect mutually exclusive conditions along the first path; modifying one or more variables in the selected first decision point, taking into account the detected mutually exclusive conditions, to generate a new first perturbed logical path, the new perturbed first logical path not being part of the original execution path and having a high execution probability according to the modification of the one or more variables; analyzing the first perturbed logical path starting from said first decision point to detect potential errors in said first perturbed logical path; selecting a second decision point on said executed path; analyzing conditions that govern the selected second decision point and subsequent decision points along a second path to detect mutually exclusive conditions along the second path; modifying one or more variables in the selected second decision point, taking into account the detected mutually exclusive conditions, to generate a new second perturbed logical path, the second perturbed new logical path having a high execution probability according to the modification of the one or more variables in the selected second decision point; analyzing the second perturbed logical paths starting from said second decision point to detect potential errors in said second perturbed logical path; and automatically generating unit tests for the first and second perturbed logical paths having the detected potential errors by using variables and their values in the first and second perturbed logical paths and taking into account the detected mutually exclusive conditions at the first and second decision points, wherein modifying one or more variables in the selected first decision point comprises solving the following equation: f(x