Claims Analysis
Total Claims: 22
Claim 1
Independent Claim
151 words
A method for analyzing an object-oriented program implementing reflection comprising a plurality of components, the method comprising the steps of: providing data including at least one conditional directive, wherein the conditional directive specifies i) a condition associated with a first set of components, and ii) a second set of components that are to be classified as live if the condition is satisfied, wherein the plurality of components comprise classes, methods, and fields; determining whether a given class is live when the given class may be instantiated by refection during any execution of the program; determining whether a given method is live when the given method may be called by refection during any execution of the program; determining whether a given field is live when the given field may be accessed by refection during any execution of the program; and generating data identifying components that are live based upon the conditional directive.
Claim 2
Independent Claim
151 words
A method for analyzing an object-oriented program implementing reflection comprising a plurality of components, the method comprising the steps of: providing data including at least one conditional directive, wherein the conditional directive specifies i) a condition associated with a first set of components, and ii) a second set of components that are to be classified as live if the condition is satisfied, wherein the plurality of components comprise classes, methods, and fields; determining whether a given class is live when the given class may be instantiated by refection during any execution of the program; determining whether a given method is live when the given method may be called by refection during any execution of the program; determining whether a given field is live when the given field may be accessed by refection during any execution of the program; and generating data identifying components that are live based upon the conditional directive.
Claim 3
Dependent Claim
80 words
The method of claim 1 , wherein the generating step comprises the steps of: (a) constructing an initial call graph of the program; (b) extending the call graph using information about components that have been classified as live; (c) extending the call graph using the conditional directive; and (d) identifying in the program any component that is classified as live; where steps (b), (c), and (d) are preferably performed repeatedly until no further components are added to the call graph.
Claim 4
Dependent Claim
32 words
The method of claim 2 , wherein the condition associated with the first set of components is based upon usefulness of the first set of components during any execution of the program.
Claim 5
Dependent Claim
37 words
The method of claim 3 , wherein the condition associated with the first set of components is satisfied if at least one component in the first set of components is used during any execution of the program.
Claim 6
Dependent Claim
21 words
The method of claim 1 , further comprising the step of generating a representation of the program based upon the data.
Claim 7
Dependent Claim
21 words
The method of claim 5 , wherein the representation of the program omits components that are determined not to be live.
Claim 8
Dependent Claim
37 words
The method of claim 1 , further comprising the step of identifying at least one component of the program that is live, and reporting the at least one component to a user via a graphical user interface.
Claim 9
Dependent Claim
24 words
The method of claim 1 , wherein the first set of components include components that are part of a library used by the program.
Claim 10
Dependent Claim
45 words
The method of claim 1 , wherein the data including at least one conditional directive is derived from at least two distinct files, wherein one of the distinct files is associated with program, and wherein another of the distinct files is associated with the library.
Claim 11
Dependent Claim
26 words
The method of claim 1 , wherein one of the distinct files includes an import directive that provides a mechanism to import directives from another file.
Claim 12
Dependent Claim
169 words
A program storage device readable by a machine, tangibly embodying a series of instructions executable by the machine to perform method steps for analyzing an object-oriented program implementing reflection comprising a plurality of components, the method steps comprising: providing data including at least one conditional directive, wherein the conditional directive specifies i) a condition associated with a first set of components, and ii) a second set of components that are to be classified as live if the condition is satisfied, wherein the plurality of components comprise classes, methods, and fields; determining whether a given class is live when the given class may be instantiated by refection during any execution of the program; determining whether a given method is live when the given method may be called by refection during any execution of the program; determining whether a given field is live when the given field may be accessed by refection during any execution of the program; and generating data identifying components that are live based upon the conditional directive.
Claim 13
Dependent Claim
169 words
A program storage device readable by a machine, tangibly embodying a series of instructions executable by the machine to perform method steps for analyzing an object-oriented program implementing reflection comprising a plurality of components, the method steps comprising: providing data including at least one conditional directive, wherein the conditional directive specifies i) a condition associated with a first set of components, and ii) a second set of components that are to be classified as live if the condition is satisfied, wherein the plurality of components comprise classes, methods, and fields; determining whether a given class is live when the given class may be instantiated by refection during any execution of the program; determining whether a given method is live when the given method may be called by refection during any execution of the program; determining whether a given field is live when the given field may be accessed by refection during any execution of the program; and generating data identifying components that are live based upon the conditional directive.
Claim 14
Dependent Claim
82 words
The program storage device of claim 11 , wherein the generating step comprises the steps of: (a) constructing an initial call graph of the program; (b) extending the call graph using information about components that have been classified as live; (c) extending the call graph using the conditional directive; and (d) identifying in the program any component that is classified as live; where steps (b), (c), and (d) are preferably performed repeatedly until no further components are added to the call graph.
Claim 15
Dependent Claim
34 words
The program storage device of claim 12 , wherein the condition associated with the first set of components is based upon usefulness of the first set of components during any execution of the program.
Claim 16
Dependent Claim
39 words
The program storage device of claim 13 , wherein the condition associated with the first set of components is satisfied if at least one component in the first set of components is used during any execution of the program.
Claim 17
Dependent Claim
23 words
The program storage device of claim 11 , further comprising the step of generating a representation of the program based upon the data.
Claim 18
Dependent Claim
23 words
The program storage device of claim 15 , wherein the representation of the program omits components that are determined not to be live.
Claim 19
Dependent Claim
39 words
The program storage device of claim 11 , further comprising the step of identifying at least one component of the program that is live, and reporting the at least one component to a user via a graphical user interface.
Claim 20
Dependent Claim
26 words
The program storage device of claim 11 , wherein the first set of components include components that are part of a library used by the program.
Claim 21
Dependent Claim
47 words
The program storage device of claim 11 , wherein the data including at least one conditional directive is derived from at least two distinct files, wherein one of the distinct files is associated with program, and wherein another of the distinct files is associated with the library.
Claim 22
Dependent Claim
28 words
The program storage device of claim 11 , wherein one of the distinct files includes an import directive that provides a mechanism to import directives from another file.