Data processing: software development – installation – and managem – Software program development tool – Testing or debugging
Reexamination Certificate
1999-10-12
2003-11-25
Nguyen-Ba, Hoang-Vu Antony (Department: 2122)
Data processing: software development, installation, and managem
Software program development tool
Testing or debugging
C709S241000
Reexamination Certificate
active
06654948
ABSTRACT:
FIELD OF THE INVENTION
The present invention generally relates to computer programming and, in particular, to monitoring object-oriented programs.
BACKGROUND OF THE INVENTION
Monitoring is that activity where a program execution environment reports to external listener subsystems what is happening during the program execution. Monitoring enables many different tools for performing! different tasks. Examples of such tools are profiling tools for performance enhancements, tracing tools for program understanding, or debugger tools for debugging. Monitoring is generally costly because: (i) amount of information produced is fairly large; (ii) the overhead of monitoring is high; or (iii) a combination of both. Consequently, many systems support partial monitoring where only a subset of the information is produced. There are many different ways for expressing which subset is of interest. However, no matter what conventional method is used to partially monitor a system, the resulting partial monitoring can result in the generation of an inconsistent subset of the complete information. Such an inconsistent subset of information can lead to incorrect interpretation of the program execution behavior by the various information processing tools and lead to erroneous conclusions.
As a result, there exists a need for partial monitoring methods and apparatus which, when incorporated into a program execution environment, result in the generation of consistent information regarding program execution without limiting the possible kinds of information filtering criteria. Accordingly, the consistent information so produced could be used by tools such as, for example, program analyzers or program visualizers to correctly interpret the program execution and solve performance, program understanding and correctness problems.
SUMMARY OF THE INVENTION
The present invention provides methods and apparatus for partial monitoring which, when incorporated into a program execution environment, result in the generation of consistent information regarding program execution without limiting the possible kinds of information filtering criteria.
In one aspect of the invention, a method of monitoring events generated by an object-oriented system comprises the steps of: (i) monitoring events which describe executed operations associated with the object-oriented system; and (ii) applying one or more sequencing rules when reporting a subset of the monitored events, the one or more sequencing rules substantially ensuring consistent reporting of the subset of monitored events. Preferably, monitoring continues when event reporting is at least partially disabled. Further, the monitoring step may include dividing the monitored events into categories. One category may include entity events, an entity event defining an existence status (e.g., object creation, object reclamation, etc.) of a given event. Another category may include activity events, an activity event defining an operation associated with a given event. Still further, the entity events and activity events may be further divided into at least one of an object event category, an execution event category, a type event category and a synchronization event category. The sequencing rules are applied to maintain substantial consistency with respect to information associated with the categories.
In one embodiment, the sequencing rules may specify that: (i) an entity event reporting creation of an entity precede an event reporting reclamation of the entity; (ii) an activity event referring to an entity appear between respective entity events reporting creation and reclamation of the entity; (iii) an entity is not reclaimed without reporting its reclamation; (iv) an invocation is not reported without its associated parent being reported; and (v) synchronization events maintain correct semantics.
Advantageously, the methodologies of the invention may produce substantially consistent information in the context of partial reporting (i.e., reporting a subset of the events being monitored) with respect to a program being executed by the object-oriented system. Selection of the subset of information to be reported may be made using either dynamic or static filtering criteria. The information may be used by tools such as, for example, program analyzers or program visualizers to correctly interpret the program execution and solve performance, program understanding and correctness problems.
It is to be appreciated that the term “partial monitoring” as used in accordance with the invention may be thought of as referring to the perspective of the external listener (e.g., tool). That is, while a subset of the monitored events are reported to the listener in accordance with the one or more sequencing rules, the methodology of the present invention preferably monitors substantially all events associated with the object-oriented system. However, due to the subset reporting, it appears to the external listener that the listener is partially monitoring the object-oriented system. As mentioned, one advantage over the prior art is that the sequencing rules substantially ensure consistent reporting of the subset of monitored events.
REFERENCES:
patent: 5590056 (1996-12-01), Barritz
patent: 5608908 (1997-03-01), Barghouti et al.
patent: 5819094 (1998-10-01), Sato et al.
patent: 6405364 (2002-06-01), Bowman-Amuah
patent: 2 258 063 (1993-01-01), None
patent: WO 00/77643 (2000-12-01), None
M. Harada et al., “A Structured Object Modeling Method SOMM and Its Environment SOME,” Systems and Computers in Japan, vol. 27, No. 11, pp. 1-20, 1996.
Z. Aral et al., “Non-Intrusive and Interactive Profiling in Parasight,” Encore Computer Corporation, pp. 21-30, 1988.
S. Liang et al., “Comprehensive Profiling Support in the JAVA™ Virtual Machine,” USENIX Association, 5th USENIX Conference on Object-Oriented Technologies and Systems (COOTS '99), pp. 229-240.
De Pauw Wim
Gruber Olivier
Konuru Ravi B.
Cameron Douglas W.
Nguyen-Ba Hoang-Vu Antony
Ryan & Mason & Lewis, LLP
LandOfFree
Methods and apparatus for partial and consistent monitoring... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Methods and apparatus for partial and consistent monitoring..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Methods and apparatus for partial and consistent monitoring... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3177363