Quantitative dynamic‐memory analysis for Java

Saved in:
Bibliographic Details
Title: Quantitative dynamic‐memory analysis for Java
Authors: Garbervetsky, Diego, Yovine, Sergio, Braberman, Víctor, Rouaux, Martín, Taboada, Alejandro
Source: Concurrency and Computation: Practice and Experience ; volume 23, issue 14, page 1665-1678 ; ISSN 1532-0626 1532-0634
Publisher Information: Wiley
Publication Year: 2010
Collection: Wiley Online Library (Open Access Articles via Crossref)
Description: Space‐ and time‐predictability are hard to achieve for object‐oriented languages with automated dynamic‐memory management. Although there has been significant work to design APIs, such as the Real‐Time Specification for Java (RTSJ), and to implement garbage collectors to enable real‐time performance, quantitative space analysis is still in its infancy. This work presents the integration of a series of compile‐time analysis techniques to help predicting quantitative memory usage. In particular, we focus on providing tool assistance for identifying RTSJ scoped‐memory regions, their sizes, and overall memory usage. First, the tool‐suite synthesizes a memory organization where regions are associated with methods. Second, it infers their sizes in parametric closed form in terms of relevant program variables. Third, it exhibits a parametric upper bound on the amount of available free memory required to execute a method. The experiments carried out with a RTSJ benchmark, a real‐time aircraft collision detector, show that semi‐automatic, tool‐assisted generation of scoped‐based code is both helpful and doable. Copyright © 2010 John Wiley & Sons, Ltd.
Document Type: article in journal/newspaper
Language: English
DOI: 10.1002/cpe.1656
Availability: https://doi.org/10.1002/cpe.1656
https://api.wiley.com/onlinelibrary/tdm/v1/articles/10.1002%2Fcpe.1656
https://onlinelibrary.wiley.com/doi/pdf/10.1002/cpe.1656
Rights: http://onlinelibrary.wiley.com/termsAndConditions#vor
Accession Number: edsbas.DF95050D
Database: BASE
Description
Abstract:Space‐ and time‐predictability are hard to achieve for object‐oriented languages with automated dynamic‐memory management. Although there has been significant work to design APIs, such as the Real‐Time Specification for Java (RTSJ), and to implement garbage collectors to enable real‐time performance, quantitative space analysis is still in its infancy. This work presents the integration of a series of compile‐time analysis techniques to help predicting quantitative memory usage. In particular, we focus on providing tool assistance for identifying RTSJ scoped‐memory regions, their sizes, and overall memory usage. First, the tool‐suite synthesizes a memory organization where regions are associated with methods. Second, it infers their sizes in parametric closed form in terms of relevant program variables. Third, it exhibits a parametric upper bound on the amount of available free memory required to execute a method. The experiments carried out with a RTSJ benchmark, a real‐time aircraft collision detector, show that semi‐automatic, tool‐assisted generation of scoped‐based code is both helpful and doable. Copyright © 2010 John Wiley & Sons, Ltd.
DOI:10.1002/cpe.1656