Root cause analysis in dynamic software testing via probabilistic modeling
First Claim
1. A computer-implemented method, comprising:
- setting, by a system operatively coupled to a processor, a threshold value, a defined probability value, and a counter value, wherein counter value is less than the threshold value;
obtaining, by the system, a set of candidate payloads; and
in response to determining, by the system, that a probability value assigned to a candidate payload of the set of candidate payloads exceeds the defined probability value, and in response to determining, by the system, that the counter value exceeds the threshold value after at least one iteration of a probabilistic transition model, where the counter value is incremented at each iteration of the at least one iteration the probabilistic transition model;
determining, by the system, that a match exists between the candidate payload and an input point of a software under test in response to application of the candidate payload to the input point returning a defined condition; and
in response to determining that there fails to be a match between the candidate payload and the input point, parsing, by the system, the candidate payload, wherein the parsing comprises tokenizing the candidate payload into one or more tokens.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for performing root cause analysis in dynamic software testing via probabilistic modeling are provided. In one example, a computer-implemented method includes initializing, by a system operatively coupled to a processor, a threshold value, a defined probability value, and a counter value. The computer-implemented method also includes, in response to determining, by the system, that a probability value assigned to a candidate payload of one or more candidate payloads exceeds the defined probability value, and in response to determining, by the system, that the counter value exceeds the threshold value: determining, by the system, that a match exists between the candidate payload and an input point based on an application of the candidate payload to the input point resulting in a defined condition, wherein the one or more candidate payloads are represented by population data accessed by the system.
19 Citations
18 Claims
-
1. A computer-implemented method, comprising:
-
setting, by a system operatively coupled to a processor, a threshold value, a defined probability value, and a counter value, wherein counter value is less than the threshold value; obtaining, by the system, a set of candidate payloads; and in response to determining, by the system, that a probability value assigned to a candidate payload of the set of candidate payloads exceeds the defined probability value, and in response to determining, by the system, that the counter value exceeds the threshold value after at least one iteration of a probabilistic transition model, where the counter value is incremented at each iteration of the at least one iteration the probabilistic transition model; determining, by the system, that a match exists between the candidate payload and an input point of a software under test in response to application of the candidate payload to the input point returning a defined condition; and in response to determining that there fails to be a match between the candidate payload and the input point, parsing, by the system, the candidate payload, wherein the parsing comprises tokenizing the candidate payload into one or more tokens. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer program product for performing root cause analysis in dynamic software testing, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processing component to cause the processing component to:
-
determine, by the processing component, whether a match between a candidate payload of the set of candidate payloads and an input point exists of a software under test in response to determining that a probability value representing a transition probability assigned to the candidate payload exceeds a defined probability value, and further determining that a counter value exceeds a threshold value after at least one iteration of a probabilistic transition model, where the counter value is incremented at each iteration of the at least one iteration the probabilistic transition model; report, by the processing component, a defined condition, in response to a determination that the match exists between the candidate payload and the input point based on a determination that the candidate payload applied to the input point returned the defined condition; perform, by the processing component, a lexical scan on the candidate payload to extract one or more tokens representing the candidate payload, wherein performance of the lexical scan is performed in response to a determination that the match does not exist between the candidate payload and the input point based a determination that the defined condition fails to be generated in response to applying the candidate payload to the input point. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A device, comprising:
a processor and a memory, wherein the processor performs acts comprising; in response to determining that a transition probability value representing a transition probability assigned to a candidate payload of a set of candidate payloads exceeds a defined probability value, and determining that a counter value exceeds a defined threshold value after at least one iteration of a probabilistic transition model, where the counter value is incremented at each iteration of the at least one iteration the probabilistic transition model, determine whether a match between a candidate payload and an input point of a software under test exists by applying the candidate payload to the input point; in response to receiving a result that application of the candidate payload to the input point returned a defined condition associated with a software security vulnerability indicative that the match between the candidate payload and the input point exists, report the defined condition; and performing a lexical scan on the candidate payload to extract one or more tokens representing the candidate payload, wherein performance of the lexical scan is performed in response to a determination that the defined condition fails to be generated in response to applying the candidate payload to the input point indicative that the match between the candidate payload and the input point does not exist. - View Dependent Claims (18)
Specification