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...

Descripción completa

Guardado en:
Detalles Bibliográficos
Autor principal: Chari, G.
Otros Autores: Garbervetsky, D., Marr, S., Ducasse, S.
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