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...
Guardado en:
Autores principales: | , , , |
---|---|
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 |