Event driven graph explorer for model-based testing of software
First Claim
Patent Images
1. A system for error-checking a software product comprising:
- at least one processor and a computer-readable storage medium coupled to the at-least one processor;
a model of the software product defining a model space comprising a set of states of the model, the model having places, transitions, and tokens, wherein a transition is operable to pass at least one token from at least one place, and wherein the model of the software product comprises components automatically extracted from the software product; and
a simulation engine for manipulating the software product and the model of the software product to cause an occurrence of an event in the software product and to cause an occurrence of a corresponding transition in the model of the software product, and to compare a state of the software product after occurrence of the event with the state of the model of the software product after occurrence of the corresponding transition, and to log errors found in the software product.
2 Assignments
0 Petitions
Accused Products
Abstract
A software testing system uses a graph traversal algorithm to explore a model simulating a software product in order to identify errors in the software product. The model employs a Petri'"'"'s net construct for maintaining state and governing transitions. In particular, the model mediates between a test driver and the software product. The model-based approach is usable both to validate the design of the software and verify the implementation of that design. Using the Petri net model, the test space is bounded.
-
Citations
14 Claims
-
1. A system for error-checking a software product comprising:
-
at least one processor and a computer-readable storage medium coupled to the at-least one processor; a model of the software product defining a model space comprising a set of states of the model, the model having places, transitions, and tokens, wherein a transition is operable to pass at least one token from at least one place, and wherein the model of the software product comprises components automatically extracted from the software product; and a simulation engine for manipulating the software product and the model of the software product to cause an occurrence of an event in the software product and to cause an occurrence of a corresponding transition in the model of the software product, and to compare a state of the software product after occurrence of the event with the state of the model of the software product after occurrence of the corresponding transition, and to log errors found in the software product. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-implemented method of producing error-checked software code comprising:
-
producing a body of software code to be error-checked; creating a model of the desired functionality of the software code to be error-checked, wherein the model comprises at least one Petri net, and wherein creating a model of the desired functionality of the software code to be error-checked comprises extracting information from the software code to be error-checked; and dynamically determining whether there is a difference in behavior of the software code to be error-checked as compared to the behavior of the model, whereby if there is such a difference in behavior, the difference is logged as an error found in the software code to be error-checked. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A computer-implemented method for testing a software product to identify at least one error in the software product comprising:
-
receiving input by the software product from a simulation engine; in response to said input, causing the occurrence of an event in the software product, whereby a state of the software product after the occurrence of said event is comparable with a state of a corresponding model of the software product to identify the at least one error found in the software product, wherein the model comprises components automatically extracted from the software product; and providing data associated with the at least one error for review.
-
Specification