Abstract
The use of a managed, type-safe language such as Java in real-time and embedded systems offers productivity and, in particular, safety and dependability benefits at a reasonable cost. It has been shown for commodity systems that escape analysis (EA) enables a set of useful optimization, and benefits from the properties of a type-safe language. In this paper, we explore the application of escape analysis in KESO [34], a Java ahead-of-time compiler targeting (deeply) embedded real-time systems. We present specific applications of EA for embedded programs that go beyond the widely known stack-allocation and synchronization optimizations such as extended remote procedure call support for software-isolated applications, automated inference of immutable data or improved upper space and time bounds for worst-case estimations.
- Absint aiT. Worst-Case Execution Time Prediction by Static Program Analysis. URL http://www.absint.com/aiT_WCET.pdf.Google Scholar
- M. Aiken, M. Fähndrich, C. Hawblitzel, G. Hunt, and J. Larus. Deconstructing process isolation. In MSPC '06: 2006 W'shop on Memory System Performance and Correctness, pages 1--10, New York, NY, USA, 2006. ACM. ISBN 1-59593-578-9. . Google Scholar
Digital Library
- AUTOSAR. Specification of operating system (version 4.0.0). Technical report, Automotive Open System Architecture GbR, Dec. 2009.Google Scholar
- B. Blanchet. Escape analysis: Correctness proof, implementation and experimental results. In POPL '98: 25th ACM SIGACT-SIGPLAN Symp. on Principles of Programming Languages, pages 25--37, 1998. . Google Scholar
Digital Library
- B. Blanchet. Escape analysis for Java: Theory and practice. ACM Trans. Program. Lang. Syst., 25(6):713--775, Nov. 2003. ISSN 0164-0925. . URL http://doi.acm.org/10.1145/945885.945886. Google Scholar
Digital Library
- G. Bollella, B. Brosgol, J. Gosling, P. Dibble, S. Furr, and M. Turnbull. The Real-Time Specification for Java. AW, 1st edition, Jan. 2000.Google Scholar
- S. Borkar. Designing reliable systems from unreliable components: the challenges of transistor variability and degradation. IEEE Micro, 25(6): 10--16, November 2005. ISSN 0272-1732. . Google Scholar
Digital Library
- W.-N. Chin, F. Craciun, S. Qin, and M. Rinard. Region inference for an object-oriented language. In Proceedings of the ACM SIGPLAN 2004 Conference on Programming Language Design and Implementation, PLDI '04, pages 243--254, New York, NY, USA, 2004. ACM. ISBN 1-58113-807-5. . URL http://doi.acm.org/10.1145/996841.996871. Google Scholar
Digital Library
- J.-D. Choi, M. Gupta, M. Serrano, V. C. Sreedhar, and S. Midkiff. Escape analysis for Java. In 14th ACM Conf. on OOP, Systems, Languages, and Applications (OOPSLA '99), pages 1--19, New York, NY, USA, 1999. ACM. . Google Scholar
Digital Library
- J.-D. Choi, M. Gupta, M. J. Serrano, V. C. Sreedhar, and S. P. Midkiff. Stack allocation and synchronization optimizations for Java using escape analysis. ACM Trans. Program. Lang. Syst., 25(6):876--910, Nov. 2003. ISSN 0164-0925. . URL http://doi.acm.org/10.1145/945885.945892. Google Scholar
Digital Library
- T. Domani, G. Goldshtein, E. K. Kolodner, E. Lewis, E. Petrank, and D. Sheinwald. Thread-local heaps for java. In Proceedings of the 3rd International Symposium on Memory Management, ISMM '02, pages 76--87, New York, NY, USA, 2002. ACM. ISBN 1-58113-539-4. . URL http://doi.acm.org/10.1145/512429.512439. Google Scholar
Digital Library
- B. Goldberg and Y. G. Park. Higher order escape analysis: Optimizing stack allocation in functional program implementations. In N. D. Jones, editor, ESOP, volume 432 of LNCS, pages 152--160. Springer, 1990. ISBN 3-540-52592-0. Google Scholar
Digital Library
- D. Grossman, G. Morrisett, T. Jim, M. Hicks, Y. Wang, and J. Cheney. Region-based memory management in Cyclone. In ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI '02), pages 282--293, New York, NY, USA, 2002. ACM. ISBN 1-58113-463-0. . Google Scholar
Digital Library
- N. Hallenberg, M. Elsman, and M. Tofte. Combining region inference and garbage collection. In Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation, PLDI '02, pages 141--152, New York, NY, USA, 2002. ACM. ISBN 1-58113-463-0. . URL http://doi.acm.org/10.1145/512529.512547. Google Scholar
Digital Library
- T. Kalibera, J. Hagelberg, F. Pizlo, A. Plsek, B. Titzer, and J. Vitek. CDx: A family of real-time Java benchmarks. In JTRES '09: 7th Int. W'shop on Java Technologies for real-time & embedded systems, pages 41--50, New York, NY, USA, 2009. ACM. ISBN 978-1-60558-732-5. . Google Scholar
Digital Library
- C. Lang. Compiler-Assisted Memory Management Using Escape Analysis in the KESO JVM, June 2014.Google Scholar
- K. Lee, X. Fang, and S. P. Midkiff. Practical escape analyses: How good are they? In Proceedings of the 3rd International Conference on Virtual Execution Environments, VEE '07, pages 180--190, New York, NY, USA, 2007. ACM. ISBN 978-1-59593-630-1. . URL http://doi.acm.org/10.1145/1254810.1254836. Google Scholar
Digital Library
- O. Lhoták and L. Hendren. Run-time evaluation of opportunities for object inlining in Java. In Proceedings of the 2002 Joint ACM-ISCOPE Conference on Java Grande, JGI '02, pages 175--184, New York, NY, USA, 2002. ACM. ISBN 1-58113-599-8. . URL http://doi.acm.org/10.1145/583810.583830. Google Scholar
Digital Library
- T. K. Martin Schoeberl, Stephan Korsholm and A. P. Ravn. A hardware abstraction layer in Java. In ACM Transactions on Embedded Computing Systems, volume 5, pages 1--42. ACM, Sept. 2009. Google Scholar
Digital Library
- P. Molnar, A. Krall, and F. Brandner. Stack allocation of objects in the cacao virtual machine. In Proceedings of the 7th International Conference on Principles and Practice of Programming in Java, PPPJ '09, pages 153--161, New York, NY, USA, 2009. ACM. ISBN 978-1-60558-598-7. . URL http://doi.acm.org/10.1145/1596655.1596680. Google Scholar
Digital Library
- Y. G. Park and B. Goldberg. Escape analysis on lists. SIGPLAN Notices, 27(7):116--127, 1992. Google Scholar
Digital Library
- F. Pizlo, L. Ziarek, E. Blanton, P. Maj, and J. Vitek. High-level programming of embedded hard real-time devices. In ACM SIGOPS/EuroSys Eur. Conf. on Computer Systems 2010 (EuroSys '10), pages 69--82, New York, NY, USA, Apr. 2010. ACM. ISBN 978-1-60558-577-2. . Google Scholar
Digital Library
- F. Pizlo, L. Ziarek, P. Maj, A. L. Hosking, E. Blanton, and J. Vitek. Schism: Fragmentation-tolerant real-time garbage collection. In ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI '10), pages 146--159, New York, NY, USA, 2010. ACM. ISBN 978-1-4503-0019-3. . Google Scholar
Digital Library
- Polyspace. Comprehensive Static Analysis Using Polyspace Products, 2013. URL http://www.mathworks.com/tagteam/77340_91517v02_30211_Polyspace-WhitePaper_final.pdf.Google Scholar
- P. Roy, M. Manoharan, and W. F. Wong. Envm: Virtual memory design for new memory architectures. In Proceedings of the 2014 International Conference on Compilers, Architecture and Synthesis for Embedded Systems, CASES '14, pages 12:1--12:10, New York, NY, USA, 2014. ACM. ISBN 978-1-4503-3050-3. . URL http://doi.acm.org/10.1145/2656106.2656121. Google Scholar
Digital Library
- M. Schoeberl, S. Korsholm, C. Thalinger, and A. P. Ravn. Hardware objects for Java. In 11th IEEE Int. Symp. on OO Real-Time Distributed Computing (ISORC '08), pages 445--452, Washington, DC, USA, 2008. IEEE. ISBN 978-0-7695-3132-8. . Google Scholar
Digital Library
- F. Siebert. Realtime garbage collection in the JamaicaVM 3.0. In JTRES '07: 5th Int. W'shop on Java Technologies for real-time & embedded systems, pages 94--103, New York, NY, USA, 2007. ACM. ISBN 978-59593-813-8. . Google Scholar
Digital Library
- V. C. Sreedhar, R. D.-C. Ju, D. M. Gillies, and V. Santhanam. Translating out of static single assignment form. In Proceedings of the 6th International Symposium on Static Analysis, SAS '99, pages 194--210, Heidelberg, Germany, 1999. Springer. ISBN 3-540-66459-9. Google Scholar
Digital Library
- B. Steensgaard. Points-to analysis in almost linear time. In Proceedings of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL '96, pages 32--41, New York, NY, USA, 1996. ACM. ISBN 0-89791-769-3. . URL http://doi.acm.org/10.1145/237721.237727. Google Scholar
Digital Library
- I. Stilkerich, M. Strotz, C. Erhardt, M. Hoffmann, D. Lohmann, F. Scheler, and W. Schröder-Preikschat. A JVM for soft-error-prone embedded systems. In 2013 ACM SIGPLAN/SIGBED Conf. on Languages, Compilers and Tools for Embedded Systems (LCTES '13), pages 21--32, New York, NY, USA, June 2013. ACM. ISBN 978-1-4503-2085-6. . Google Scholar
Digital Library
- I. Stilkerich, M. Strotz, C. Erhardt, and M. Stilkerich. RT-LAGC: Fragmentation-Tolerant Real-Time Memory Management Revisited. In JTRES '14: 12th Int. W'shop on Java Technologies for real-time & embedded systems, pages 87--96, New York, NY, USA, Oct. 2014. ACM. ISBN 978-1-4503-2813-5/14/10. . Google Scholar
Digital Library
- I. Stilkerich, P. Taffner, C. Erhardt, C. Dietrich, C. Wawersich, and M. Stilkerich. Team up: Cooperative memory management in embedded systems. In 2014 Int. Conf. on Compilers, Architectures, and Synthesis for Embedded Systems (CASES '14), page Art. No. 10, New York, NY, USA, Oct. 2014. ACM. ISBN 978-1-4503-3050-3/14/10. . Google Scholar
Digital Library
- M. Stilkerich. Memory Protection at Option - Application-Tailored Memory Safety in Safety-Critical Embedded Systems. PhD thesis, Friedrich-Alexander University Erlangen-Nuremberg, 2012.Google Scholar
- M. Stilkerich, I. Thomm, C. Wawersich, and W. Schröder-Preikschat. Tailor-made JVMs for statically configured embedded systems. Concurrency and Computation: Practice and Experience, 24(8):789--812, 2012. ISSN 1532-0634. . Google Scholar
Digital Library
- A. Taber and E. Normand. Single event upset in avionics. IEEE Transactions on Nuclear Science, 40(2):120--126, Apr. 1993. ISSN 0018-9499. .Google Scholar
Cross Ref
- M. Tofte and J.-P. Talpin. Implementation of the typed call-by-value lamba-calculus using a stack of regions. In Proceedings of the 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL '94, pages 188--201, New York, NY, USA, 1994. ACM. ISBN 0-89791-636-0. . URL http://doi.acm.org/10.1145/174675.177855. Google Scholar
Digital Library
Index Terms
A Practical Getaway: Applications of Escape Analysis in Embedded Real-Time Systems
Recommendations
A Practical Getaway: Applications of Escape Analysis in Embedded Real-Time Systems
LCTES'15: Proceedings of the 16th ACM SIGPLAN/SIGBED Conference on Languages, Compilers and Tools for Embedded Systems 2015 CD-ROMThe use of a managed, type-safe language such as Java in real-time and embedded systems offers productivity and, in particular, safety and dependability benefits at a reasonable cost. It has been shown for commodity systems that escape analysis (EA) ...
The Perfect Getaway: Using Escape Analysis in Embedded Real-Time Systems
Special Issue on Secure and Fault-Tolerant Embedded Computing and Regular PapersThe use of a managed, type-safe language such as Java in real-time and embedded systems offers productivity and, in particular, safety and dependability benefits at a reasonable cost. It has been shown for commodity systems that Escape Analysis (EA) ...







Comments