Gonzalez, 2003 - Google Patents
LOOJVM: Type Checking Java Language Extensions in the Virtual MachineGonzalez, 2003
View PDF- Document ID
- 5659400151410393632
- Author
- Gonzalez R
- Publication year
External Links
Snippet
Since Java's release in 1996, researchers have been exploring ways to improve its type system. On feature that has received a great deal of consistent attention is F-bounded parametric polymorhpism [CCH+89]. After years of debate, Sun Microsystems is finally …
- 230000004048 modification 0 abstract description 47
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
- 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
- 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/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/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
-
- 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
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Alpern et al. | Implementing jalapeño in java | |
AU771028B2 (en) | Module-by-module verification | |
Qian | A Formal Specification of Javaℳ Virtual Machine Instructions for Objects, Methods and Subroutines | |
AU771941B2 (en) | Fully lazy linking with module-by-module verification | |
Bierman et al. | UpgradeJ: Incremental typechecking for class upgrades | |
League et al. | Type-preserving compilation of Featherweight Java | |
Hanus et al. | An abstract machine for Curry and its concurrent implementation in Java | |
Gil et al. | Whiteoak: Introducing structural typing into Java | |
CA2309778C (en) | Fully lazy linking | |
Börger et al. | Modular design for the Java virtual machine architecture | |
Coglio | Simple verification technique for complex Java bytecode subroutines | |
Christiansen et al. | Region-based memory management in Java | |
Atkinson et al. | Issues Raised by Three Years of Developing PJama: An Orthogonally Persistent Platform for Java™ | |
Lackner et al. | Supporting design by contract in Java | |
Coglio | Improving the official specification of Java bytecode verification | |
EP1056005B1 (en) | Dataflow algorithm for symbolic computation of lowest upper bound type | |
Gonzalez | LOOJVM: Type Checking Java Language Extensions in the Virtual Machine | |
Stärk et al. | The problem of bytecode verification in current implementations of the JVM | |
Stärk et al. | Java bytecode verification is not possible | |
Tozawa et al. | Formalization and analysis of class loading in Java | |
Ogel et al. | Towards active applications: the virtual virtual machine approach | |
Dmitriev | Class and Data Evolution Support in the PJama Persistent Platform | |
Rudys | Termination and rollback in language-based systems | |
AU2004200283B2 (en) | Module-by-module verification | |
Hagedorn | Value Type Support in a Just-in-Time Compiler |