Join
today

Boliven PRO is more than just patent search

  • Build and save lists using the powerful Lists feature
  • Analyze and download your search results
  • Share patent search results with your clients

Patents »

US5093914: Method of controlling the execution of object-oriented programs

Share

Filing Information

Inventor(s) James O. Coplien · Thomas V. Williams ·
Assignee(s) AT&T Bell Laboratories ·
Attorney/Agent(s) Ross T. Watland ·
Primary Examiner Michael R. Fleming ·
Assistant Examiner Glenn A. Auve ·
Application Number US7451390
Filing date 12/15/1989
Issue date 03/03/1992
Predicted expiration date 12/15/2009
U.S. Classifications 395/700  · 364/275.5  ·
International Classifications G06F 1100  ·
Kind CodeA
International Classifications 364200;275.5;900 ·
21 Claims, No Drawings


Abstract

A method used by a digital computer in controlling execution of an object-oriented program to effect a defined action, e.g., stopping the program, when a specified virtual function is invoked on a specified object during execution of the program. A breakpoint address is determined at run time, advantageously after the specified object is created in accordance with execution of the program. The breakpoint address determination is not based solely on symbol table, pre-execution, information, but in addition on information generated in conjunction with the creation of the specified object. The breakpoint is inserted while program execution is stopped at an intermediate program point after the specified object is created. After program execution is resumed and the specified virtual function is invoked in accordance with the program, the breakpoint fires. However, the defined action is performed only in response to determining that the firing occurred on the specified object.

Independent Claims | See all claims (21)

  1. 1. A method for use by a digital computer in controlling execution of an object-oriented program to effect a defined action when a specified virtual function is invoked on a specified object during execution of said program, said method comprising,initiating execution of said program,creating said specified object in accordance with execution of said program,after said creating, determining an address of a function that is called when said specified virtual function is invoked on said specified object, andinserting a breakpoint at said determined address of a function.
  2. 14. A method for use by a digital computer in controlling execution of an object-oriented program, said method comprisingcompiling said program,after said compiling, initiating execution of said program,stopping execution at an intermediate point of said program,after stopping execution and in response to a request to effect a defined action when a specified virtual function is invoked on a specified object during execution of said program, determining an address of a function that is called when said specified virtual function is invoked on said specified object, andinserting a breakpoint at said determined function address.
  3. 16. A method for use by a digital computer in effecting a defined action when a specified function is invoked on a specified object during execution of an object-oriented program, said method comprisingdetermining an address of a function that is called when said specified function is invoked on said specified object,inserting a breakpoint at said determined address of a function,obtaining an address of said specified object,storing an entry in a breakpoint table, said entry defining said determined address of a function and said obtained address of said specified object for said breakpoint,in response to detecting firing of a breakpoint, ascertaining an address of said detected firing of a breakpoint and an address of a present object andwhen the ascertained breakpoint address and present object address respectively correspond to the address of a function and object address of said entry in said breakpoint table, performing said defined action.
  4. 20. A method for use by a digital computer in controlling execution of an object-oriented program to effect a defined action when a specified function is invoked with a specified argument during execution of said program, said method comprisinginitiating execution of said program,creating an object in accordance with execution of said program,after said creating, determining an address of a function that is called when said specified function is invoked with said specified argument and said specified argument is associated with said object, andinserting a breakpoint at said determined address of a function.

References Cited

U.S. Patent Documents

Document NumberAssigneesInventorsIssue/Pub Date
US4080650 Bell Telephone Laboratories, Incorporated Beckett Mar 1978
US4791550 Rational Stevenson et al. Dec 1988
US4885717 Tektronix, Inc. Beck et al. Dec 1989

Other Publications

T. A. Cargill, "Pi: A Case Study in Object-Oriented Programming", OOPSLA '86 Proceedings, Sep. 1986, pp. 350-360.
G. A. Pascoe, "Elements of Object-Oriented Programming", Byte, Aug. 1986.
G. Booch, "Object-Oriented Development", IEEE Transactions on Software Engineering, vol. SE-12, No. 1, Feb. 1986, pp 211-221.
J. R. Pugh, "Actors Set the Stage for Software Advances", Computer Design, Sep. 1984, pp. 185-186 and 188-189.
B. Stroustrup, "An Overview of C++", SIGPLAN Notices, V21, #10, Oct. 1986, pp. 7-18.
Tooke, Simon, "Object-Oriented Debugging: Strategies and Tools for Debugging Your Oop Apps.", Dr. Dobbs Journal, Nov. 1990, p. 36.
Sun C++ Programmer's Guide--Sun Microsystems.
S. B. Lippman et al., "Pointers to Class Members in C++", Proceedings of the USENIX C++ Conference, Denver, Colo., Oct. 17-21, 1988, pp. 305-326.

Referenced By

Document NumberAssigneeInventorsIssue/Pub Date
DE19954810 BOSCH GMBH ROBERT LUEDICKE ULRICH May 2001
US8307350 Microsoft Corporation David J. Hiniker Nov 2012
US8272060 Stragent, LLC Walter Clark Milliken et al. Sep 2012
US8326914 Ben Franklin Patent Holding LLC Danny Lange et al. Dec 2012
US8533530 --
US8370806 --
US8380966 --
US8423969 --
US8484516 --
US6421692 Object Technology Licensing Corporation Steven H. Milne et al. Jul 2002
US6782532 Oracle International Corporation Harlan Sexton et al. Aug 2004
US7076784 Microsoft Corporation Wilfred G. Russell et al. Jul 2006
US7346901 Microsoft Corporation Donald Robert Syme et al. Mar 2008
US7526756 International Business Machines Corporation Cary Lee Bates et al. Apr 2009
US6370589 Siemens Aktiengesellschaft Stefan Sieber et al. Apr 2002
US6412106 InterVoice Limited Partnership Gary M. Leask et al. Jun 2002
US6385724 Microsoft Corporation Brian C. Beckman et al. May 2002
US6425017 Microsoft Corporation Richard Dievendorff et al. Jul 2002
US6606711 Microsoft Corporation Anthony D. Andrews et al. Aug 2003
US6715148 International Business Machines Corporation John Clarence Endicott et al. Mar 2004
US6966051 International Business Machines Corporation Gerald Francis McBrearty et al. Nov 2005
US7299456 International Business Machines Corporation Cary L. Bates et al. Nov 2007
US6401080 International Business Machines Corporation Joseph Phillip Bigus et al. Jun 2002
US6453419 Secure Computing Corporation Andrew Flint et al. Sep 2002
US6360266 Object Technology Licensing Corporation Christopher Edward Pettus Mar 2002
US6748455 Microsoft Corporation Gerald L. Hinson et al. Jun 2004
US6769001 Curl Corporation Robert H. Halstead, Jr. et al. Jul 2004
US7340720 Sumisho Computer Systems Corporation Robert H. Halstead, Jr. et al. Mar 2008
US6487665 Microsoft Corporation Anthony D. Andrews et al. Nov 2002
US6598181 Microsoft Corporation Andrew M. Pennell Jul 2003
US7096458 International Business Machines Corporation Cary L. Bates et al. Aug 2006
US7131114 Texas Instruments Incorporated Tai H. Nguyen et al. Oct 2006
US7237245 Microsoft Corporation Gerald L. Hinson et al. Jun 2007
US6714962 Microsoft Corporation Patrick James Helland et al. Mar 2004
US6668370 International Business Machines Corporation Paul Rex Harmon et al. Dec 2003
US6782538 International Business Machines Corporation George Prentice Copeland et al. Aug 2004
US6769116 Oracle International Corporation Harlan Sexton Jul 2004
US6981208 Object Technology Licensing Corporation Steven H. Milne et al. Dec 2005
US7478405 Microsoft Corporation Gerald L. Hinson et al. Jan 2009
US6377962 Object Technology Licensing Corporation James Michael Tindell et al. Apr 2002
US6606742 Taligent, Inc. Debra Lyn Orton et al. Aug 2003
US7080354 Intel Corporation Ali-Reza Adl-Tabatabai et al. Jul 2006
US7373639 Sumisho Computer Systems Corporation Robert H. Halstead, Jr. et al. May 2008
US6424354 Object Technology Licensing Corporation John R. Matheny et al. Jul 2002
US6795962 Microsoft Corporation David R. Hanson Sep 2004
US7424704 Object Technology Licensing Corporation Debra Lyn Orton et al. Sep 2008
US6351778 Object Technology Licensing Corporation Debra Lyn Orton et al. Feb 2002
US6453328 Object Technology Licensing Corporation Arnold Schaeffer et al. Sep 2002
US6345383 Kabushiki Kaisha Toshiba Katsuhiko Ueki Feb 2002
US6473791 Microsoft Corporation Mohsen Al-Ghosein et al. Oct 2002
US7181613 Secure Computing Corporation William E. Boebert et al. Feb 2007
US7398519 International Business Machines Corporation Jeremy Alan Arnold et al. Jul 2008
US7389514 Microsoft Corporation Wilfred G. Russell et al. Jun 2008
US7386522 International Business Machines Corporation Joseph Phillip Bigus et al. Jun 2008
USRE37722 Object Technology Licensing Corp. David J. Burnard et al. May 2002
US7634777 Microsoft Corporation Richard Dievendorff et al. Dec 2009
US6442620 Microsoft Corporation Satish R. Thatte et al. Aug 2002
US6684261 Object Technology Licensing Corporation Debra Lyn Orton et al. Jan 2004
US6604198 Microsoft Corporation Brian C. Beckman et al. Aug 2003
US6574736 Microsoft Corporation Anthony D. Andrews Jun 2003
US7363587 Apple Inc. Arnold Schaeffer et al. Apr 2008
US7383539 International Business Machines Corporation Cary Lee Bates et al. Jun 2008
US6405263 International Business Machines Corporation Michael Haden Conner et al. Jun 2002
US6564270 International Business Machines Corporation Glenn P. Andert et al. May 2003
US6748555 Microsoft Corporation Hugh A. Teegan et al. Jun 2004
US6772332 Secure Computing Corporation William E. Boebert et al. Aug 2004
US7240244 Microsoft Corporation Hugh A. Teegan et al. Jul 2007
US7865883 Oracle America, Inc. Steven J. Sistare et al. Jan 2011
US7908225 International Business Machines Corporation Joseph Phillip Bigus et al. Mar 2011
US7895569 Research In Motion Limited John Fredric Arthur Dahms et al. Feb 2011
US7644394 International Business Machines Corporation Jeremy Alan Arnold et al. Jan 2010
US7730299 Secure Computing, LLC William E. Boebert et al. Jun 2010
US7844734 InnoPath Software, Inc. James Jiang et al. Nov 2010
US7401327 Sumisho Computer Systems Corporation Robert H. Halstead, Jr. et al. Jul 2008
US7243271 Microsoft Corporation Hugh A. Teegan et al. Jul 2007
US7086037 Kabushiki Kaisha Toshiba Mikito Iwamasa Aug 2006
US6829770 Microsoft Corporation Gerald L. Hinson et al. Dec 2004
US7530106 Kaspersky Lab, ZAO Oleg V. Zaitsev et al. May 2009
US7949752 Ben Franklin Patent Holding LLC Danny Lange et al. May 2011
US8132160 International Business Machines Corporation Cary Lee Bates et al. Mar 2012
US8204945 Stragent, LLC Walter Clark Milliken et al. Jun 2012
US8166549 Stragent, LLC Walter Clark Milliken et al. Apr 2012
US5432936 Microsoft Corporation Jan Gray et al. Jul 1995
US5369766 Taligent, Inc. Russell T. Nakano et al. Nov 1994
US5511002 Taligent, Inc. Steven H. Milne et al. Apr 1996
US5590330 International Business Machines Corporation Nurcan Coskun et al. Dec 1996
US5479601 Taligent, Inc. John R. Matheny et al. Dec 1995
US5566278 Taligent, Inc. Jayendra N. Patel et al. Oct 1996
US5537526 Taugent, Inc. David R. Anderson et al. Jul 1996
US5442793 Microsoft Corporation Bradford A. Christian et al. Aug 1995
US5530799 Taligent Inc. Donald M. Marsh et al. Jun 1996
US5551055 Taligent, Inc. John R. Matheny et al. Aug 1996
US5867647 Secure Computing Corporation Haigh; J. Thomas et al. Feb 1999
US5822580 Object Technology Licensing Corp. Wyatt Leung Oct 1998
US6003084 Secure Computing Corporation Michael W. Green et al. Dec 1999
US6169550 Object Technology Licensing Corporation Rajiv Jain Jan 2001
US6240545 International Business Machines Corporation Ian Hugh Carmichael et al. May 2001
US6040838 Obejct Technology Licensing Corporation Richard D. Webb et al. Mar 2000
US5394523 Taligent, Inc. Jerry G. Harris Feb 1995
US5455951 Taligent, Inc. Eugenie L. Bolton et al. Oct 1995

Patent Family

The current document is not in a family.