On transforming Java-like programs into memory-predictable code

  • Authors:
  • Diego Garbervetsky;Sergio Yovine;Víctor Braberman;Martín Rouaux;Alejandro Taboada

  • Affiliations:
  • FCEyN, UBA, Argentina;FCEyN, UBA, Argentina;FCEyN, UBA, Argentina;FCEyN, UBA, Argentina;FCEyN, UBA, Argentina

  • Venue:
  • Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.