von Dincklage et al., 2004 - Google Patents
Converting Java classes to use genericsvon Dincklage et al., 2004
View PDF- Document ID
- 9859185039318435408
- Author
- von Dincklage D
- Diwan A
- Publication year
- Publication venue
- Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
External Links
Snippet
Generics offer significant software engineering benefits since they provide code reuse without compromising type safety. Thus generics will be added to the Java language in the next release. While this extension to Java will help programmers when they are writing new …
- 239000011800 void material 0 description 25
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for programme control, e.g. control unit
- G06F9/06—Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
- G06F9/44—Arrangements for executing specific programmes
- G06F9/4421—Execution paradigms
- G06F9/4428—Object-oriented
- G06F9/443—Object-oriented method invocation or resolution
- G06F9/4431—Optimising based on receiver type
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformations of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/436—Semantic checking
- G06F8/437—Type checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for programme control, e.g. control unit
- G06F9/06—Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
- G06F9/44—Arrangements for executing specific programmes
- G06F9/445—Programme loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for programme control, e.g. control unit
- G06F9/06—Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
- G06F9/44—Arrangements for executing specific programmes
- G06F9/445—Programme loading or initiating
- G06F9/44589—Programme code verification, e.g. Java bytecode verification, proof-carrying code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformations of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for programme control, e.g. control unit
- G06F9/06—Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
- G06F9/44—Arrangements for executing specific programmes
- G06F9/445—Programme loading or initiating
- G06F9/44557—Code layout in executable memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for programme control, e.g. control unit
- G06F9/06—Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformations of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/456—Parallelism detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for programme control, e.g. control unit
- G06F9/06—Arrangements for programme control, e.g. control unit using stored programme, i.e. using internal store of processing equipment to receive and retain programme
- G06F9/44—Arrangements for executing specific programmes
- G06F9/455—Emulation; Software simulation, i.e. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/74—Reverse engineering; Extracting design information from source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Lhoták et al. | Evaluating the benefits of context-sensitive points-to analysis using a BDD-based implementation | |
| US6463581B1 (en) | Method for determining reachable methods in object-oriented applications that use class libraries | |
| Rugina et al. | Pointer analysis for multithreaded programs | |
| Chambers et al. | Efficient multiple and predicated dispatching | |
| Dufour et al. | A scalable technique for characterizing the usage of temporaries in framework-intensive Java applications | |
| Detlefs et al. | Inlining of virtual methods | |
| US6546551B1 (en) | Method for accurately extracting library-based object-oriented applications | |
| US7356802B2 (en) | Automatic customization of classes | |
| Fuhrer et al. | Efficiently refactoring Java applications to use generic libraries | |
| Sreedhar et al. | A framework for interprocedural optimization in the presence of dynamic class loading | |
| Mock et al. | Dynamic points-to sets: A comparison with static analyses and potential applications in program understanding and optimization | |
| von Dincklage et al. | Converting Java classes to use generics | |
| Grech et al. | Shooting from the heap: Ultra-scalable static analysis with heap snapshots | |
| US20020178437A1 (en) | Object oriented apparatus and method for allocating objects on an invocation stack in a partial compilation environment | |
| He et al. | Qilin: A new framework for supporting fine-grained context-sensitivity in Java pointer analysis | |
| Dean | Whole-program optimization of object-oriented languages | |
| US6654951B1 (en) | Removal of unreachable methods in object-oriented applications based on program interface analysis | |
| Logozzo | Cibai: An abstract interpretation-based static analyzer for modular analysis and verification of Java classes | |
| Unkel et al. | Automatic inference of stationary fields: a generalization of java's final fields | |
| Petrashko et al. | Call graphs for languages with parametric polymorphism | |
| Souter et al. | Inter-class def-use analysis with partial class representations | |
| Chong et al. | Static analysis of accessed regions in recursive data structures | |
| Sawin et al. | Improving static resolution of dynamic class loading in java using dynamically gathered environment information | |
| Li et al. | Dynamic symbolic execution for polymorphism | |
| Prakash et al. | Effects of program representation on pointer analyses—an empirical study |