IP Library Granted Patent US 9,323,597
Granted Patent B2
US 9,323,597 · App. 13/891,068 · Granted Apr 26, 2016

Flow based fault testing

Inventor: Michael Eddington (Seattle, WA)
Assignee: PEACH FUZZER LLC
G06F11/0766G06F11/3672
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,323,597
App. No.
13/891,068
Granted
Apr 26, 2016
Kind
B2
Abstract

Flow based fault testing is provided. A logical constraint model or a state model (LS model) can be generated based on logic/state characteristics of a system under test (SUT). The LS model can be generated from logical constraint grammar statements. The logical constraint grammar can be parsed as part of a pre-test analysis to seek faults related to the logic or states of the model. The inputs and outputs related to the SUT can be employed to determine faults, including post-test analysis for faults. The disclosed subject matter can capture in an automated or semi-automated manner faults that can be missed in more conventional fuzz testing. Further, flow based fault testing can be employed alone, along with, or in combination with conventional fuzz testing.

Claims (60)

1. A system, comprising:

a memory to store instructions; and

a processor, coupled to the memory, that facilitates execution of the instructions to perform operations, comprising:

receiving input information related to a system-under-test;

receiving a logical constraint model associated with the system-under-test, wherein the logical constraint model represents a logical constraint of the system-under-test or a state of the system-under-test;

determining, in response to the system-under-test receiving the input information, a fault in the system-under-test based on a behavior of the system-under-test being determined to differ from an expected behavior of the system-under test based on the logical constraint model and the input information; and

facilitating access to fault information related to the fault.

2. The system of claim 1 , the operations further comprising:

receiving output information correlated to the input information and related to the system-under-test,

wherein the determining the fault is further based on the output information.

3. The system of claim 2 , wherein the output information includes information relating to the logical constraint determined from execution of the system-under-test or the state transition determined from execution of the system-under-test.

4. The system of claim 2 , wherein the fault is related to a difference between the logical constraint model and execution of the system-under-test, and the difference is associated with the logical constraint of the system-under-test or the state of the system-under-test.

5. The system of claim 1 , the operations further comprising:

generating perturbed input information based on perturbing the input information,

wherein the determining the fault is based on the model and the perturbed input information.

6. The system of claim 5 , wherein the perturbing the input information includes perturbing the input information to expose the fault as being related to a difference between the logical constraint model and execution of the system-under-test, and further as being related to the logical constraint of the system-under-test or the state of the system-under-test.

7. The system of claim 5 , wherein the perturbing the input information includes perturbing the input information to expose the fault as being related to a difference between the logical constraint model and execution of the system-under-test without causing a function of the system-under-test to cease to function.

8. The system of claim 5 , wherein the perturbing the input information includes perturbing the input information to expose the fault as being related to causing a function of the system-under-test to cease functioning.

9. The system of claim 1 , wherein the receiving input information comprises receiving the input information from a remote data store remotely located from the system.

10. The system of claim 1 , wherein the determining the fault comprises:

parsing language associated with formation of the logical constraint model into logical statements, including a first logical statement and a second logical statement; and

analyzing the logical statements to determine the fault as being related to the logical constraint of the system-under-test or the state of the system-under-test before executing a test of the system-under-test,

wherein the determining the fault is based on a conflict between the first logical statement and the second logical statement.

11. A method, comprising:

receiving, by a system including a processor, a logical flow model associated with a system-under-test, wherein the logical flow model represents a logical constraint of the system-under-test or a state of the system-under-test;

receiving input information related to the system-under-test;

facilitating access to the input information to enable testing of the system-under-test;

receiving output information related to the system-under-test; and

determining, in response to the system-under-test receiving the input information, a fault in the system-under-test based on a behavior of the system-under-test differing from an expected behavior of the system-under test based on the logical flow model, the input information, and the output information.

12. The method of claim 11 , wherein the receiving the logical flow model further comprises:

receiving flow model development information related to the system-under-test; and

generating the logical flow model based on the flow model development information.

13. The method of claim 12 , wherein the generating the logical flow model comprises generating a flow model.

14. The method of claim 12 , wherein the generating the logical flow model comprises updating a stored flow model.

15. The method of claim 11 , further comprising:

generating perturbed input information based on perturbation of the input information,

wherein the facilitating access to the input information includes facilitating access to the perturbed input information, and the determining the fault is based on the logical flow model, the perturbed input information, and the output information.

16. The method of claim 11 , further comprising:

parsing language associated with formation of the logical flow model into logical statements, including a first logical statement and a second logical statement; and

analyzing the logical statements to determine the fault is related to the logical constraint of the system-under-test or the state of the system-under-test before initiating a test of the system-under-test,

wherein the determining the fault is based on a conflict between the first logical statement and the second logical statement.

17. A computer-readable storage medium, comprising computer-executable instructions that, in response to execution, cause a device including a processor to perform operations, comprising:

receiving a fuzzable logic model associated with a system-under-test, wherein the fuzzable logic model represents a logical constraint of the system-under-test or a state of the system-under-test;

receiving input information related to the system-under-test;

facilitating access to the input information to enable testing of the system-under-test; and

determining, in response to the system-under-test receiving the input information, a fault in the system-under-test based on a behavior of the system-under-test being determined to be different from an expected behavior of the system-under test based on the fuzzable logic model and the input information.

18. The computer-readable storage medium of claim 17 , the operations further comprising:

receiving output information related to the system-under-test, and

wherein the determining the fault is further based on the output information.

19. The computer-readable storage medium of claim 17 , wherein the fault is related to a difference between the fuzzable logic model and execution of the system-under-test, and the difference is associated with the logical constraint of the system-under-test or the state of the system-under-test.

20. The computer-readable storage medium of claim 17 , the operations further comprising:

generating perturbed input information based on perturbation of the input information,

wherein the facilitating access to the input information includes facilitating access to the perturbed input information, and the determining the fault is based on the fuzzable logic model, the perturbed input information, and the output information.

21. The computer-readable storage medium of claim 17 , the operations further comprising:

receiving model development information related to the system-under-test; and

generating the fuzzable logic model based on the model development information.

22. The computer-readable storage medium of claim 21 , the operations further comprising:

parsing into logical statements, language associated with the generating the fuzzable logic model, the logical statements including a first logical statement and a second logical statement; and

analyzing the logical statements to determine the fault is related to the logical constraint of the system-under-test or the state of the system-under-test before commencing a test of the system-under-test,

wherein the determining the fault is based on a conflict between the first logical statement and the second logical statement.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2021
From: PEACH FUZZER, LLC
To: GITLAB INC.
Reel/Frame 056574/0386 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2016
From: DEJA VU SECURITY, LLC
To: PEACH FUZZER LLC
Reel/Frame 038086/0043 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 9, 2013
From: EDDINGTON, MICHAEL
To: DEJA VU SECURITY, LLC
Reel/Frame 030388/0595 →
Continuity (2)
Provisional Application 61681114 · Aug 8, 2012
Related Publication 20140047275A1 · Feb 13, 2014