Lavoie et al., 2012 - Google Patents
Harnessing Performance for Flexibility in Instrumenting a Virtual Machine for JavaScript through MetacircularityLavoie et al., 2012
View PDF- Document ID
- 3352418299682224784
- Author
- Lavoie E
- Dufour B
- Feeley M
- Publication year
External Links
Snippet
The limited reflexion features of the JavaScript (JS) language [5] on object operations and function calls has forced researchers, on tasks requiring run-time instrumentation, either to laboriously instrument production VMs or come up with ad hoc source-to-source translation …
- 238000004519 manufacturing process 0 abstract description 8
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/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
- G06F9/45516—Runtime code conversion or optimisation
-
- 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
- G06F8/443—Optimisation
- G06F8/4441—Reducing the execution time required by the program code
- G06F8/4442—Reducing the number of cache misses; Data prefetching
-
- 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
-
- 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/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- 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
-
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformations of program code
- G06F8/51—Source to source
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformations of program code
- G06F8/52—Binary to binary
-
- 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/3668—Software testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING; COUNTING
- G06F—ELECTRICAL DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- 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
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Grimmer et al. | High-performance cross-language interoperability in a multi-language runtime | |
US10579498B2 (en) | Debugging tool for a JIT compiler | |
Hawkins et al. | Optimizing binary translation of dynamically generated code | |
Castanos et al. | On the benefits and pitfalls of extending a statically typed language JIT compiler for dynamic scripting languages | |
CN111815330A (en) | A method for deploying smart contracts, blockchain nodes and storage media | |
CN113196243A (en) | Improving simulation and tracking performance using compiler-generated simulation-optimized metadata | |
Bae et al. | Towards understanding and reasoning about Android interoperations | |
Di Federico et al. | rev. ng: A multi-architecture framework for reverse engineering and vulnerability discovery | |
US8601448B2 (en) | Representing pointers and boxing in environments using only reference types | |
Lee et al. | Efficient Java native interface for android based mobile devices | |
Kang | Function call interception techniques | |
Lavoie et al. | Portable and efficient run-time monitoring of javascript applications using virtual machine layering | |
Lavoie et al. | Harnessing Performance for Flexibility in Instrumenting a Virtual Machine for JavaScript through Metacircularity | |
Kumar et al. | Tdb: a source-level debugger for dynamically translated programs | |
Erhardt et al. | A Control-Flow-Sensitive Analysis and Optimization Framework for the KESO Multi-JVM | |
Yuning | A study of object creators in JavaScript | |
Robatmili et al. | Muscalietjs: Rethinking layered dynamic web runtimes | |
Wen et al. | Research And Implementation Of AOP Technology In. NET Framework | |
Däumler et al. | Reducing startup time of a deterministic virtualizing runtime environment | |
Celada | Android Native Library Fuzzing | |
Erlandsson et al. | TigerShrimp: An Understandable Tracing JIT Compiler | |
Cherny-Shahar et al. | MetaFFI--Multilingual Indirect Interoperability System | |
Kumar et al. | Transparent debugging of dynamically instrumented programs | |
Wassermann et al. | Tracing Algorithmic Primitives in RSqueak/VM | |
Ciabrini et al. | Bugloo: A source level debugger for scheme programs compiled into jvm bytecode |