Fully Reflective Execution Environments
VMs are complex pieces of software that implement programming language semantics in an efficient, portable, and secure way. Unfortunately, mainstream VMs provide applications with few mechanisms to alter execution semantics or memory management at run time. We argue that this limits the evolvability...
Guardado en:
| Autor principal: | |
|---|---|
| Otros Autores: | , , |
| Formato: | Capítulo de libro |
| Lenguaje: | Inglés |
| Publicado: |
Institute of Electrical and Electronics Engineers Inc.
2018
|
| Acceso en línea: | Registro en Scopus DOI Handle Registro en la Biblioteca Digital |
| Aporte de: | Registro referencial: Solicitar el recurso aquí |
| LEADER | 03940caa a22005897a 4500 | ||
|---|---|---|---|
| 001 | PAPER-17073 | ||
| 003 | AR-BaUEN | ||
| 005 | 20230518204812.0 | ||
| 008 | 190410s2018 xx ||||fo|||| 00| 0 eng|d | ||
| 024 | 7 | |2 scopus |a 2-s2.0-85043355864 | |
| 040 | |a Scopus |b spa |c AR-BaUEN |d AR-BaUEN | ||
| 030 | |a IESED | ||
| 100 | 1 | |a Chari, G. | |
| 245 | 1 | 0 | |a Fully Reflective Execution Environments |
| 260 | |b Institute of Electrical and Electronics Engineers Inc. |c 2018 | ||
| 506 | |2 openaire |e Política editorial | ||
| 520 | 3 | |a VMs are complex pieces of software that implement programming language semantics in an efficient, portable, and secure way. Unfortunately, mainstream VMs provide applications with few mechanisms to alter execution semantics or memory management at run time. We argue that this limits the evolvability and maintainability of running systems for both, the application domain, e.g., to support unforeseen requirements, and the VM domain, e.g., to modify the organization of objects in memory. This work explores the idea of incorporating reflective capabilities into the VM domain and analyzes its impact in the context of software adaptation tasks. We characterize the notion of a fully reflective VM, a kind of VM that provides means for its own observability and modifiability at run time. This enables programming languages to adapt the underlying VM to changing requirements. We propose a reference architecture for such VMs and present TruffleMATE as a prototype for this architecture. We evaluate the mechanisms TruffleMATE provides to deal with unanticipated dynamic adaptation scenarios for security, optimization, and profiling aspects. In contrast to existing alternatives, we observe that TruffleMATE is able to handle all scenarios, using less than 50 lines of code for each, and without interfering with the application's logic. IEEE |l eng | |
| 536 | |a Article in Press | ||
| 593 | |a Computer Science, Universidad de Buenos Aires, 28196 Buenos Aires, CABA Argentina 1053 (e-mail: gchari@dc.uba.ar) | ||
| 593 | |a Computer Science, FCEyN. UBA, Buenos Aires, Buenos Aires Argentina 1428 (e-mail: diegog@dc.uba.ar) | ||
| 593 | |a CS, Johannes Kepler Universitat Linz, 27266 Linz, sterreich Austria (e-mail: stefan.marr@jku.at) | ||
| 593 | |a B3, Inria Centre de recherche Lille Nord Europe, 176498 Villeneuve d'Ascq, Nord-Pas-de-Calais France (e-mail: stephane.ducasse@inria.fr) | ||
| 690 | 1 | 0 | |a MEMORY MANAGEMENT |
| 690 | 1 | 0 | |a SEMANTICS |
| 690 | 1 | 0 | |a SHAPE |
| 690 | 1 | 0 | |a SOFTWARE |
| 690 | 1 | 0 | |a TASK ANALYSIS |
| 690 | 1 | 0 | |a VIRTUAL MACHINING |
| 690 | 1 | 0 | |a COMPUTER SOFTWARE |
| 690 | 1 | 0 | |a JOB ANALYSIS |
| 690 | 1 | 0 | |a MEMORY ARCHITECTURE |
| 690 | 1 | 0 | |a SEMANTICS |
| 690 | 1 | 0 | |a EXECUTION ENVIRONMENTS |
| 690 | 1 | 0 | |a EXECUTION SEMANTICS |
| 690 | 1 | 0 | |a MEMORY MANAGEMENT |
| 690 | 1 | 0 | |a PROGRAMMING LANGUAGE SEMANTICS |
| 690 | 1 | 0 | |a REFERENCE ARCHITECTURE |
| 690 | 1 | 0 | |a SHAPE |
| 690 | 1 | 0 | |a TASK ANALYSIS |
| 690 | 1 | 0 | |a VIRTUAL MACHINING |
| 690 | 1 | 0 | |a VIRTUAL MACHINE |
| 700 | 1 | |a Garbervetsky, D. | |
| 700 | 1 | |a Marr, S. | |
| 700 | 1 | |a Ducasse, S. | |
| 773 | 0 | |d Institute of Electrical and Electronics Engineers Inc., 2018 |p IEEE Trans Software Eng |x 00985589 |w (AR-BaUEN)CENRE-1815 |t IEEE Transactions on Software Engineering | |
| 856 | 4 | 1 | |u https://www.scopus.com/inward/record.uri?eid=2-s2.0-85043355864&doi=10.1109%2fTSE.2018.2812715&partnerID=40&md5=ae530470a61d3211a788513734395656 |y Registro en Scopus |
| 856 | 4 | 0 | |u https://doi.org/10.1109/TSE.2018.2812715 |y DOI |
| 856 | 4 | 0 | |u https://hdl.handle.net/20.500.12110/paper_00985589_v_n_p_Chari |y Handle |
| 856 | 4 | 0 | |u https://bibliotecadigital.exactas.uba.ar/collection/paper/document/paper_00985589_v_n_p_Chari |y Registro en la Biblioteca Digital |
| 961 | |a paper_00985589_v_n_p_Chari |b paper |c PE | ||
| 962 | |a info:eu-repo/semantics/article |a info:ar-repo/semantics/artículo |b info:eu-repo/semantics/publishedVersion | ||
| 999 | |c 78026 | ||