Conformance execution of non-deterministic specifications for components
First Claim
1. A computer-implemented method of conformance-testing a software implementation with a software specification which defines proper behavior of the implementation, the method comprising:
- applying software implementation source code and at least a portion of the software specification to produce a conformance-test enabled implementation comprising portions of the software implementation and portions of the software specification integrated into a same body of code wherein nondeterministic choices of the software specification result in assigning a corresponding choice of the conformance-test enabled implementation to a variable, wherein at least one procedure comprises at least one portion of the software implementation and at least one portion of the software specification, and the conformance-test enabled implementation comprising a test that the variable comprises one of the nondeterministic choices of the software specification;
compiling the software implementation source code from a first high-level language into an intermediate language;
compiling the software specification from a second high-level language into the intermediate language; and
producing the conformance-test enabled implementation in the intermediate language.
2 Assignments
0 Petitions
Accused Products
Abstract
To perform conformance checking of a software implementation with a (possibly non-deterministic) specification, a software implementation and a software specification are applied to produce a CT enabled implementation. Nondeterministic choices of the software specification result in assigning a corresponding choice of the CT enabled implementation to a variable. The CT enabled implementation includes a test that the variable then comprises one of the nondeterministic choices of the software specification. To perform conformance testing where the software specification includes ordered steps, and calls to methods of other classes (mandatory calls), a software object is produced and organized such that each step of the software specification has a corresponding code section in the software object. The software object includes instructions to generate an identification of a mandatory call comprised by the software specification, and instructions to test that the state of the implementation conforms to the software specification during the mandatory call.
-
Citations
26 Claims
-
1. A computer-implemented method of conformance-testing a software implementation with a software specification which defines proper behavior of the implementation, the method comprising:
-
applying software implementation source code and at least a portion of the software specification to produce a conformance-test enabled implementation comprising portions of the software implementation and portions of the software specification integrated into a same body of code wherein nondeterministic choices of the software specification result in assigning a corresponding choice of the conformance-test enabled implementation to a variable, wherein at least one procedure comprises at least one portion of the software implementation and at least one portion of the software specification, and the conformance-test enabled implementation comprising a test that the variable comprises one of the nondeterministic choices of the software specification; compiling the software implementation source code from a first high-level language into an intermediate language; compiling the software specification from a second high-level language into the intermediate language; and producing the conformance-test enabled implementation in the intermediate language. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-implemented method of conformance-testing a software implementation with a software specification, the method comprising:
-
producing a software object organized such that a step of the software specification is surrounded by a corresponding code section of the software implementation in the software object, the software object having a class; the software object comprising at least one instruction which, when executed by a computer system, causes an identification of a mandatory call comprised by the software specification to be stored in a memory of the computer system; and
the software object comprising at least one instruction which, when executed by the computer system, causes a test that the state of a conformance-test enabled implementation conforms to the software specification during the mandatory call;wherein the mandatory call comprises a call to at least one method in at least one class different than the class of the software object. - View Dependent Claims (7, 8, 9)
-
-
10. An article comprising:
-
a machine-readable storage medium comprising instructions to generate a conformance-test enabled implementation of a software specification, the instructions, when executed by a computer system, resulting in; applying a software implementation source code and at least a portion of the software specification to produce the conformance-test enabled implementation comprising a same body of code with portions from both the software implementation and the at least a portion of the software specification in the same procedure;
wherein the procedure comprises at least one portion of the software implementation and the at least one portion of the software specification;
wherein nondeterministic choices of the at least one portion of the software specification result in assigning a corresponding choice of the conformance-test enabled implementation to a variable; and
the conformance-test enabled implementation comprising a test that the variable comprises one of the nondeterministic choices of the at least one portion of the software specification;compiling the software implementation from a first high-level language into an intermediate language; compiling the software specification from a second high-level language into the intermediate language; and producing the conformance-test enabled implementation in the intermediate language. - View Dependent Claims (11, 12, 13, 14)
-
-
15. An article comprising:
-
a machine-readable storage medium comprising instructions to generate a conformance-test enabled implementation of a software specification, the instructions, when executed by a computer system, resulting in; producing a software object organized such that a step of the software specification is surrounded by a corresponding code section of the software implementation in the software object, the software object having a class; the software object comprising at least one instruction which, when executed by a computer system, causes an identification of a mandatory call comprised by the software specification to be stored in a memory of the computer system; and
the software object comprising at least one instruction which, when executed by the computer system, causes a test that the state of the conformance-test enabled implementation conforms to the software specification during the mandatory call;wherein the mandatory call comprises a call to at least one method in at least one class different than the class of the software object. - View Dependent Claims (16, 17, 18)
-
-
19. An apparatus comprising:
-
a processor; and a machine-readable storage medium comprising instructions to generate a conformance-test enabled implementation of a software specification, the instructions, when executed by the processor, resulting in; applying a software implementation and the software specification to produce the conformance-test enabled implementation within a same body of code with portions from both the software implementation and the software specification integrated into at least one procedure, wherein the at least one procedure comprises at least one portion of the software implementation and at least one portion of the software specification, wherein nondeterministic choices of the software specification result in assigning a corresponding choice of the conformance-test enabled implementation to a variable; and
the conformance-test enabled implementation comprising a test that the variable comprises one of the nondeterministic choices of the at least one portion of the software specification;compiling the software implementation from a first high-level language into an intermediate language; compiling the software specification from a second high-level language into the intermediate language; and producing the conformance-test enabled implementation in the intermediate language. - View Dependent Claims (20, 21, 22, 23)
-
-
24. An apparatus comprising:
-
a processor; a machine-readable storage medium comprising instructions to generate a conformance-test enabled implementation of a software specification, the instructions, when executed by a computer system, resulting in; producing a software object organized such that a series of steps of the software specification and a corresponding code section of the software implementation are enmeshed in the software object, the software object having a class; the software object comprising at least one instruction which, when executed by a computer system, causes an identification of a mandatory call comprised by the software specification to be stored in a memory of the computer system, wherein the mandatory call comprises a call to at least one method in at least one class different than the class of the software object; and the software object comprising at least one instruction which, when executed by the computer system, causes a test that the state of the conformance-test enabled implementation conforms to the software specification during the mandatory call the conformance-test enabled implementation comprising at least one instruction which, when executed by the computer system, causes a section of the software object to be executed prior to the conformance-test enabled implementation performing the mandatory call, the section of the software object to be executed corresponding to a step of the software specification comprising the mandatory call. - View Dependent Claims (25, 26)
-
Specification