Interprocedural analysis and optimization of an object...

Data processing: software development – installation – and managem – Software program development tool – Programming language

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C717S151000, C717S152000, C717S153000, C717S154000, C717S155000, C717S156000, C717S157000, C709S241000

Reexamination Certificate

active

06865730

ABSTRACT:
A method is provided for analyzing an object oriented program that supports dynamic class loading. A set A of classes in the program is identified, wherein each class within set A is capable of, during execution of the program, causing the loading of a class outside of set A. A first set of method calls belonging to the classes in set A are identified that, during execution of the program, are capable of calling only methods belonging to a class within set A. A second set of method calls belonging to the classes in set A are identified that, during execution of the program, are capable of calling methods belonging to a class outside set A. Data that identifies the first and the second set of method calls is stored for subsequent use.

REFERENCES:
patent: 5535391 (1996-07-01), Hejlsberg et al.
patent: 5966537 (1999-10-01), Ravichandran
patent: 5970249 (1999-10-01), Holzle et al.
patent: 5987256 (1999-11-01), Wu et al.
patent: 6182277 (2001-01-01), DeGroot et al.
patent: 6202205 (2001-03-01), Saboff et al.
patent: 6289506 (2001-09-01), Kwong et al.
patent: 6463581 (2002-10-01), Bacon et al.
patent: 6546551 (2003-04-01), Sweeney et al.
patent: 6557168 (2003-04-01), Czajkowski
patent: 6567974 (2003-05-01), Czajkowski
patent: 6622300 (2003-09-01), Krishnaswamy et al.
patent: 6631518 (2003-10-01), Bortnikov et al.
patent: 6704927 (2004-03-01), Bak et al.
patent: 20010047513 (2001-11-01), Tock
patent: 20020104076 (2002-08-01), Shaylor
patent: 20020144011 (2002-10-01), Hinsley
patent: 20030191867 (2003-10-01), Czajkowski
patent: 20040015914 (2004-01-01), Renouf
Tyng et al., Non-intrusive object introspection in C++: architecture and application, Apr. 19 -25, 1998, IEEE, pp.: 312-321.*
Jensen, et al., Security and dynamic class laoding in Java: a formalisation, May 1998, IEEE, pp.: 4 -15.*
Hamidzadeh, et al., Dynamic task scheduling using online optimization, Nov. 2000, IEEE,vol.: 11, Issue: 11, pp.: 1151 -1163.*
Ronald, How to head off debug problems with Java, Mar. 1, 1999, Electronic Engineering Times, pp. 76, 96.*
Clifford, Advance JAVA 2, 1999, Sun Microsystems, 2ndedition, p. 249-252.*
Fitzgerald et al., Marmot: An Optimizing Compiler for JAVA, Jun. 1999, Microsoft Research, p. 1-29.*
Liang et al., Dynamic Class Loading in the JAVA Virtual Machine, Oct. 1998, ACM, p. 1-8.*
Grove et al., Call Graph Construction in Object-Oriented Languages, 1997, OOPSLA, p. 1-17.*
DeFouw, Fast Interprocedural Class Analysis, Jan. 1998, Department of Computer Science and Engineering University of Washington, p. 1-32.*
Bjarne Steensgaard, “Points-to Analysis in Almost Linear Time”, 23rdAnnual ACM SIGACT-SIGPLAN Symposium on the Principles of Programming Languages, pp. 32-41, Jan. 1996.
Bracha et al., “Dynamic Class Loading in the JAVA Virtual Machine”, ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 1-9, Oct. 1998.
Bacon et al., “Fast Static Analysis of C++ Virtual Function Calls”, ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 324-341, Oct. 1996.
Chambers et al., “Debugging Optimized Code with Dynamic Deoptimization”, SIGPLAN 92 Conference on Programming Language Design and Implementation, SIGPLAN Notices 27(6), pp. 1-12, Jun. 1992.
Holzle et al., “A Third Generation Self Implementation: Reconciling Responsiveness with Perforance”, ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 229-243, Oct. 1994.
Saraswat, “Java is not type-face”, AT&T Research, http://loria.fr/˜lliquori/JAVA/bug.html. Aug. 1997.
Burke et al., “Interprocedural Optimization: Eliminating Unnecessary Recompilation”, ACM Transactions on Programming Languages and Systems, 15(3): 367-399, Jul. 1993.
Alpern et al., “Dynamic Linking in a Shared-Memory Multiprocessor”, International Conference on Parallel Architectures and Compilation Techniques, pp. 1 -7, Oct. 1999.
Agesen et al., “Inlining of Virtual Methods”, 13thEuropean Conference on Object-Oriented Programming, pp. 357-378, Jun. 1999.
Holzle et al/. “Optimizing Dynamically-Dispatched Calls with Run-Time Type Feedback”, SIGPLAN 94 Conference on Programming Language Design and Implementation, SIGPLAN Notices, 29(6), pp. 326-336, Jun. 1994.
Laffra et al., “Practical Experience with an Application Extractor for JAVA”, ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 292-305, Nov. 1999.
Fitzgerald et al., “Marmot: An optimizing Complier for JAVA”, Technical Report MSR-TR-99-33, Microsoft Research, pp. 1-29, Jun. 1999.
Ven Seshadri, “IBM High Performance Complier for JAVA”, IBM Corp., 1997, described at http://simont01.torolab.ibm.com/hpj/hpjj.html , available for download at http://www.alphaWorks.ibm.com/formula.
Emami et al., “Context-Sensitive Interprocedural Points-To Analysis in the Presence of Function Pointers”, SIGPLAN 94 Conference on Programming Language Design and Implementation, SIGPLAN Notices, 29(6), pp. 242-256, Jun. 1994.
Lam et al., “Efficient Context-Sensitive Pointer Analysis for C Programs”, SIGPLAN 95 Conference on Programming Language Design and Implementation, SIGPLAN Notices, 30(6) pp. 1-12, Jun. 1995.
Landi et al., “A Safe Approximate Algorithm for Interprocedural Pointer Aliasing”, SIGPLAN 92 Conference on Programming Language Design and Implementation, SIGPLAN Notices 27(6), pp. 235-248, Jun. 1992.
Burke et al., “Efficient Flow-Sensitive Interprocedural Computation of Pointer-Induced Aliases and Side Effects”, 20thAnnual ACM SIGACT-SIGPLAN Symposium on the Principles of Programming Languages, pp. 232-245, Jan. 1993.
Chase et al., “Analysis of Pointers and Structures”, SIGPLAN 90 Conference on Programming Language Design and Implementation, SIGPLAN Notices 25(6), pp. 296-310, Jun. 1990.
Landi et al. “Data Flow Analysis of Program Fragments”, Proceedings of the 7thSymposium on the Foundations of Software Engineering, pp. 1-18, Sep. 1999.
Chatterjee et al., “Relevant Context Inference”, 26thAnnual ACM SIGACT-SIGPLAN Syposium on the Principles of Programming Languages, pp. 133-146, Jun. 1999.
Choi et al., “Escape Analysis for JAVA”, ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 1-19, Oct. 1999.
Choi et al., “Automatic Construction of Sparse Data Flow Evauation Graphics”, 18thAnnual ACM Symposium on the Principles of Programming Languages, pp. 55-66, Jan. 1991.
Alpern et al., “Implementing Jalapeño in JAVA”, ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, pp. 1-11, Oct. 1999.
Chambers et al., “Selective Specialization for Object-Oriented Languages”, SIGPLAN 95 Conference on Progrgamming Language Design and Implementation, SIGPLAN Notices, 30(6), pp. 93-102, Jun. 1995.
Consel et al., “A Generl Approach for Run-Time Specialization and its Application to C”, 1996 ACM Symposium on Principles of Programming Languages, pp. 145-156, Jan. 1996.
Steve Meloan, “The JAVA HOTSPOT Performance Engine: An In-Dept Look”, Technical Report, SUn Microsystems, Inc., pp. 1-15, Apr. 1999.
Ishizaki et al., “Design, Implementation, and Evauation of Optimizations in a Just-In-Time Compiler”, ACM 1999 JAVA Grande Conference, pp. 199-228, Jun. 1999.
“BulletTrain™optimizing compiler and runtime for JVM bytecodes”, http://www.naturalbridge.com/bullettrain.htm
Baylor, et al., “Java server benchmarks”, IBM Systems Journal, vol. 39, No. 1, 2000, pp. 57-81.
Sagiv, et al., “Solving Shape-Analysis Problems in Language with Destructive Updating”, Conference Record of the 23 ACM Symposium on Principles of Programming Languages, pp. 1-50, A1-A9, Jan. 1998.
Cryton et al., “Efficiently Computing Static Single Assignment Form and th

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Interprocedural analysis and optimization of an object... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Interprocedural analysis and optimization of an object..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Interprocedural analysis and optimization of an object... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3450264

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.