Back to results
US 7,539,978 B1Granted
Method for understanding and testing third party software components
AssigneeCigital
InventorsJennifer M. Haddox, Gregory M. Kapfhammer, Ryan Colyer, Timothy Tsai
Life of this patent
Estimating the term…
Abstract
Systems and methods to understand how commercial-off-the-shelf (COTS) software components interact with a system when the COTS components are integrated into a system. A software wrapping technology is utilized to encase the COTS software components such that a wrapper isolates the COTS components during testing.
Claims19
A method comprising:
- encasing a first software component in a wrapper comprising a second software component comprising mediator code that encases the first software component such that calls made from a software system to the first software component are intercepted by the mediator code, wherein the mediator code performs operations different from operations of the first software component and wherein the mediator code contains a data decomposer that decomposes types of input data to the first software component into data type, name of element, and nested breakdown of each element within a given type of input data, wherein the variables represent at least one of strings, integers, floating point numbers, characters, Boolean values and/or pointers, wherein the data decomposer further decomposes a complex object into variables so that an operation can be performed on said variables, wherein the complex object comprises at least two variables;
- and
- performing, using the mediator code, one or more of
- a fault injection test on the first software component,
- an assertions checking test on the first software component, and
- a data collection test on the first software component,
- wherein for each decomposed complex object storing data type, name of variable, nested breakdown of each variable within the decomposed complex object, and
- wherein the data decomposer is invoked by a code that is injected into the first software component to use a mediator class to analyze n-dimensional arrays, perform various operations on null objects, and repeat references for cyclic object hierarchies.
5 more elements
A system, embodied in a computer, comprising:
- a wrapping subsystem configured to encase a first software component, said wrapping subsystem comprising a second software component implemented as a Java custom class loader that causes the first software component to be encased by mediator code, such that calls made from a software system to the first software component are intercepted by the mediator code, where the mediator code contains a data decomposer that decomposes types of input data to the first software component into data type, name of variables, and nested breakdown of each variable within a given type of input data, wherein the variables represent at least one of strings, integers, floating point numbers, characters, Boolean values and/or pointers,
- wherein the data decomposer further decomposes a complex object into variables so that an operation can be performed on said variables, wherein the complex object comprises at least two variables;
- and
- the mediator code calls one or more of
- a fault injection subsystem configured to perform fault injection tests on the first software component,
- an assertions predication subsystem configured to perform assertions checking tests on the first component, and
- a data collection subsystem configured to perform data collection tests on the first software component,
- wherein for each decomposed complex object the data collection subsystem is configured to store data type, name of variable, nested breakdown of each element within the decomposed complex object;
- and
- wherein the data decomposer is invoked by a code that is injected into the first software component to use a mediator class to analyze n-dimensional arrays, perform various operations on null objects, and repeat references for cyclic object hierarchies.
7 more elements
A method comprising:
- encasing a first software component in a wrapper comprising a second software component that encases the first software component such that calls made from a software system to the first software component are intercepted by mediator code that performs operations different from operations of the first software component and that includes a data decomposer that decomposes types of input data to the first software component into data type, name of element, and nested breakdown of each element within a given type of input data, wherein the variables represent at least one of strings, integers, floating point numbers, characters, Boolean values and/or pointers, wherein the data decomposer further decomposes a complex object into variables so that an operation can be performed on said variables, wherein the complex object comprises at least two variables;
- for each decomposed complex object storing data type, name of variable, nested breakdown of each variable within the decomposed complex object;
- and
- intercepting calls to the first software component and instrumenting the first software component so that input data and output data of the first software component can be captured;
- wherein the data decomposer is invoked by a code that is injected into the first software component to use a mediator class to analyze n-dimensional arrays, perform various operations on null objects, and repeat references for cyclic object hierarchies.
2 more elements
Dependencies are inferred from the claim text.