University of Minnesota
Software Engineering Center
/

You are here

A Fast Algorithm to Compute Heap Memory Bounds of Java Card Applets

Date of Publication: 
November 2008
Associated Research Groups: 
Publication Files: 
Abstract: 
In this paper, we present an approach to find upper bounds of heap space for Java Card applets. Our method first transforms an input bytecode stream into a control flow graph (CFG), and then collapses cycles of the CFG to produce a directed acyclic graph (DAG). Based on the DAG, we propose a linear-time algorithm to solve the problem of finding the single-source largest path in it. We also have implemented a prototype tool, tested it on several sample applications, and then compared the bounds found by our tool with the actual heap bounds of the programs. The experiment shows that our tool returns good estimation of heap bounds, runs fast, and has a small memory footprint.
Venue: 
Sixth IEEE International Conference on Software Engineering and Formal Methods (SEFM '08)
bibtex: 
@inproceedings{Pham:2008:FAC:1475696.1476194, author = {Pham, Tuan-Hung and Truong, Anh-Hoang and Truong, Ninh-Thuan and Chin, Wei-Ngan}, title = {A Fast Algorithm to Compute Heap Memory Bounds of Java Card Applets}, booktitle = {Proceedings of the 2008 Sixth IEEE International Conference on Software Engineering and Formal Methods}, year = {2008}, isbn = {978-0-7695-3437-4}, pages = {259--267}, numpages = {9}, url = {http://portal.acm.org/citation.cfm?id=1475696.1476194}, doi = {10.1109/SEFM.2008.30}, acmid = {1476194}, publisher = {IEEE Computer Society}, address = {Washington, DC, USA}, }