IP Library Granted Patent US 9,064,041
Granted Patent B1
US 9,064,041 · App. 13/858,761 · Granted Jun 23, 2015

Simple method optimization

Inventors: Lewis K. Cirne (Redwood City, CA); John B. Bley (Durham, NC); Daryl L. Puryear (San Mateo, CA)
Assignee: CA, Inc.
G06F11/3466G06F11/3636
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,064,041
App. No.
13/858,761
Granted
Jun 23, 2015
Kind
B1
Abstract

Methods are classified as simple or complex. Complex methods are modified to add a tracer. Methods classified as simple are not modified to add a tracer. There are many different standards that can be used within the spirit of the present invention to classify methods as simple or complex. In one embodiment, a method is complex if it meets three criteria: (1) the method has an access level of public or package; (2) the method is non-synthetic and (3) the method calls at least one other method. Methods that do not satisfy all three criteria are classified as simple methods. In other embodiments, a method can be classified as complex if it satisfies two of the above criteria, or other similar criteria.

Claims (41)

1. A method for monitoring, comprising:

accessing a set of instructions;

determining, automatically, whether the set of instructions satisfies two criteria from the group of criteria:

i) the set of instructions is not synthetic, wherein a synthetic set of instructions are ones that are generated by a compiler;

ii) the set of instructions calls another set of instructions; or

iii) the set of instructions has an access level that satisfies a condition, wherein the access level is an access control level of a method that is provided by a programming language;

instrumenting the set of instructions if the set of instructions satisfies the two criteria; and

determining that the set of instructions should not be instrumented if the set of instructions does not satisfy the two criteria.

2. The method of claim 1 , wherein the instrumenting the set of instructions comprises adding a tracer to the set of instructions.

3. The method of claim 1 , wherein the determining, automatically, whether the set of instructions satisfies two criteria from the group of criteria comprises determining whether the set of instructions has an access level that satisfies a condition, which comprises determining a level of access control for the set of instructions that is provided by a programming language.

4. The method of claim 3 , wherein the determining a level of access control for the set of instructions that is provided by a programming language comprises determining whether the set of instructions has an access level of either public or package.

5. The method of claim 1 , wherein the determining, automatically, whether the set of instructions satisfies two criteria from the group of criteria comprises determining whether the set of instructions is not synthetic, which comprises determining that the set of instructions is synthetic if the set of instructions is compiler generated.

6. The method of claim 1 , wherein the determining, automatically, whether the set of instructions satisfies two criteria from the group of criteria comprises determining whether the set of instructions satisfies the criterion ii) the set of instructions calls another set of instructions, and the criterion iii) the set of instructions has an access level that satisfies a criterion.

7. The method of claim 1 , wherein the determining, automatically, whether the set of instructions satisfies two criteria from the group of criteria comprises determining whether the set of instructions satisfies all three of the criteria.

8. The method of claim 1 , wherein the set of instructions comprises a procedure, function, routine, subroutine, sequence, process or method.

9. A system comprising:

a processor configured to:

access a set of instructions;

determine whether the set of instructions satisfies two criteria from the group of criteria:

i) the set of instructions is not synthetic, wherein a synthetic set of instructions are ones that are generated by a compiler;

ii) the set of instructions calls another set of instructions; or

iii) the set of instructions has an access level that satisfies a condition, wherein the access level is an access control level of a method that is defined by a programming language; and

instrument the set of instructions if the set of instructions satisfies the two criteria; and

determine that the set of instructions should not be instrumented if the set of instructions fails to satisfy the two criteria.

10. The system of claim 9 , wherein the processor being configured to instrument the set of instructions comprises the processor being configured to add a tracer to the set of instructions.

11. The system of claim 9 , wherein the processor being configured to determine whether the set of instructions satisfies two criteria from the group of criteria comprises the processor being configured to determine whether the set of instructions has an access level that satisfies a condition, which comprises the processor being configured to determine a level of access control for the set of instructions that is defined by a programming language.

12. The system of claim 9 , wherein the processor being configured to determine whether the set of instructions satisfies two criteria from the group of criteria comprises the processor being configured to determine whether the set of instructions is not synthetic, which comprises the processor being configured to determine that the set of instructions is synthetic if the set of instructions is a compiler generated method.

13. The system of claim 9 , wherein the processor being configured to determine whether the set of instructions satisfies two criteria from the group of criteria comprises the processor being configured to determine whether the set of instructions satisfies the criterion ii) the set of instructions calls another set of instructions, and the criterion iii) the set of instructions has an access level that satisfies a criterion.

14. The system of claim 9 , wherein the processor being configured to determine whether the set of instructions satisfies two criteria from the group of criteria comprises the processor being configured determine whether the set of instructions satisfies all three of the criteria.

15. The system of claim 9 , wherein the set of instructions comprises a procedure, function, routine, subroutine, sequence, process or method.

16. A non-transitory processor readable storage device having processor readable code embodied thereon, the processor readable code for programming a processor to:

access a set of instructions;

determine whether the set of instructions satisfies two or more criteria from the group of criteria:

i) the set of instructions is not synthetic, a synthetic set of instructions is one that is a compiler generated;

ii) the set of instructions calls another set of instructions; or

iii) the set of instructions has an access level that satisfies a condition, wherein the access level is an access control level of a method that is provided by a programming language; and

instrument the set of instructions only if the set of instructions satisfies the two or more criteria.

17. The non-transitory processor readable storage device of claim 16 , wherein the processor readable code for programming the processor to instrument the set of instructions comprises the processor readable code for programming the processor to add a tracer to the set of instructions.

18. The non-transitory processor readable storage device of claim 16 , wherein the processor readable code for programming the processor to determine whether the set of instructions satisfies two or more criteria from the group of criteria comprises processor readable code for programming the processor to determine whether the set of instructions has an access level that satisfies a condition, which comprises processor readable code for programming the processor to determine a level of access control for the set of instructions that is provided by a programming language.

19. The non-transitory processor readable storage device of claim 16 , wherein the processor readable code for programming the processor to determine whether the set of instructions satisfies two or more criteria from the group of criteria comprises processor readable code for programming the processor to determine whether the set of instructions satisfies the criterion ii) the set of instructions calls another set of instructions, and the criterion iii) the set of instructions has an access level that satisfies a condition.

20. The non-transitory processor readable storage device of claim 16 , wherein the set of instructions comprises a procedure, function, routine, subroutine, sequence, process or method.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2013
From: CIRNE, LEWIS K.; BLEY, JOHN B.; PURYEAR, DARYL L.
To: WILY TECHNOLOGY, INC.
Reel/Frame 030208/0434 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 12, 2013
From: WILY TECHNOLOGY, INC.
To: COMPUTER ASSOCIATES THINK, INC.
Reel/Frame 030208/0650 →
MERGER Recorded Apr 12, 2013
From: COMPUTER ASSOCIATES THINK, INC.
To: CA, INC.
Reel/Frame 030208/0760 →
Continuity (2)
Continuation 10700338 · Nov 3, 2003
Provisional Application 60424745 · Nov 7, 2002