On transforming Java-like programs into memory-predictable code

The ScopedMemory class of the RTSJ enables the organization of objects into regions. This ensures time-predictable management of dynamic memory. Using scopes forces the programmer to reason in terms of locality, to comply with RTSJ restrictions. The programmer is also faced with the problem of provi...

Descripción completa

Guardado en:
Detalles Bibliográficos
Autores principales: Garbervetsky, Diego, Braberman, Víctor Adrián, Rouaux, Martín, Taboada, Alejandro Darío
Publicado: 2009
Materias:
Acceso en línea:https://bibliotecadigital.exactas.uba.ar/collection/paper/document/paper_97816055_v_n_p140_Garbervetsky
http://hdl.handle.net/20.500.12110/paper_97816055_v_n_p140_Garbervetsky
Aporte de:
id paper:paper_97816055_v_n_p140_Garbervetsky
record_format dspace
spelling paper:paper_97816055_v_n_p140_Garbervetsky2023-06-08T16:38:09Z On transforming Java-like programs into memory-predictable code Garbervetsky, Diego Braberman, Víctor Adrián Rouaux, Martín Taboada, Alejandro Darío Compile time Dynamic memory Java-like programs Memory management Memory organizations Memory region Memory usage Parametric forms Program variables Run-time errors Semi-automatics Automatic programming Computer software Embedded systems Java programming language Time series analysis Real time systems The ScopedMemory class of the RTSJ enables the organization of objects into regions. This ensures time-predictable management of dynamic memory. Using scopes forces the programmer to reason in terms of locality, to comply with RTSJ restrictions. The programmer is also faced with the problem of providing upper-bounds for regions. Without appropriate compile-time support, scoped-memory management may lead to unexpected runtime errors. This work presents the integration of a series of compile-time analysis techniques to help identifying memory regions, their sizes, and overall memory usage. First, the tool synthesizes a scoped-based memory organization where regions are associated with methods. Second, it infers their sizes in parametric forms in terms of relevant program variables. Third, it exhibits a parametric upper-bound on the total amount of memory required to run a method. We present some preliminary results showing that semi-automatic, tool-assisted generation of scoped-based code is both helpful and doable. Copyright 2009 ACM. Fil:Garbervetsky, D. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina. Fil:Braberman, V. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina. Fil:Rouaux, M. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina. Fil:Taboada, A. Universidad de Buenos Aires. Facultad de Ciencias Exactas y Naturales; Argentina. 2009 https://bibliotecadigital.exactas.uba.ar/collection/paper/document/paper_97816055_v_n_p140_Garbervetsky http://hdl.handle.net/20.500.12110/paper_97816055_v_n_p140_Garbervetsky
institution Universidad de Buenos Aires
institution_str I-28
repository_str R-134
collection Biblioteca Digital - Facultad de Ciencias Exactas y Naturales (UBA)
topic Compile time
Dynamic memory
Java-like programs
Memory management
Memory organizations
Memory region
Memory usage
Parametric forms
Program variables
Run-time errors
Semi-automatics
Automatic programming
Computer software
Embedded systems
Java programming language
Time series analysis
Real time systems
spellingShingle Compile time
Dynamic memory
Java-like programs
Memory management
Memory organizations
Memory region
Memory usage
Parametric forms
Program variables
Run-time errors
Semi-automatics
Automatic programming
Computer software
Embedded systems
Java programming language
Time series analysis
Real time systems
Garbervetsky, Diego
Braberman, Víctor Adrián
Rouaux, Martín
Taboada, Alejandro Darío
On transforming Java-like programs into memory-predictable code
topic_facet Compile time
Dynamic memory
Java-like programs
Memory management
Memory organizations
Memory region
Memory usage
Parametric forms
Program variables
Run-time errors
Semi-automatics
Automatic programming
Computer software
Embedded systems
Java programming language
Time series analysis
Real time systems
description The ScopedMemory class of the RTSJ enables the organization of objects into regions. This ensures time-predictable management of dynamic memory. Using scopes forces the programmer to reason in terms of locality, to comply with RTSJ restrictions. The programmer is also faced with the problem of providing upper-bounds for regions. Without appropriate compile-time support, scoped-memory management may lead to unexpected runtime errors. This work presents the integration of a series of compile-time analysis techniques to help identifying memory regions, their sizes, and overall memory usage. First, the tool synthesizes a scoped-based memory organization where regions are associated with methods. Second, it infers their sizes in parametric forms in terms of relevant program variables. Third, it exhibits a parametric upper-bound on the total amount of memory required to run a method. We present some preliminary results showing that semi-automatic, tool-assisted generation of scoped-based code is both helpful and doable. Copyright 2009 ACM.
author Garbervetsky, Diego
Braberman, Víctor Adrián
Rouaux, Martín
Taboada, Alejandro Darío
author_facet Garbervetsky, Diego
Braberman, Víctor Adrián
Rouaux, Martín
Taboada, Alejandro Darío
author_sort Garbervetsky, Diego
title On transforming Java-like programs into memory-predictable code
title_short On transforming Java-like programs into memory-predictable code
title_full On transforming Java-like programs into memory-predictable code
title_fullStr On transforming Java-like programs into memory-predictable code
title_full_unstemmed On transforming Java-like programs into memory-predictable code
title_sort on transforming java-like programs into memory-predictable code
publishDate 2009
url https://bibliotecadigital.exactas.uba.ar/collection/paper/document/paper_97816055_v_n_p140_Garbervetsky
http://hdl.handle.net/20.500.12110/paper_97816055_v_n_p140_Garbervetsky
work_keys_str_mv AT garbervetskydiego ontransformingjavalikeprogramsintomemorypredictablecode
AT brabermanvictoradrian ontransformingjavalikeprogramsintomemorypredictablecode
AT rouauxmartin ontransformingjavalikeprogramsintomemorypredictablecode
AT taboadaalejandrodario ontransformingjavalikeprogramsintomemorypredictablecode
_version_ 1768546652819292160