skip to main content
10.1145/1289971.1290001acmconferencesArticle/Chapter ViewAbstractPublication PagesgpceConference Proceedingsconference-collections
Article

Generative programming techniques for Java library migration

Published:01 October 2007Publication History

ABSTRACT

Embedded systems can be viewed as scaled-down versions of their stand-alone counterparts. In many cases, the software abstractions and libraries for embedded systems can be derived from libraries for stand-alone systems. One such example is the Java library for Java Virtual Machines. An embedded system does not always support all features as in the case of an embedded JVM that does not support floating-point operations. In such cases, an existing library needs to be migrated to the embedded platform. Libraries are large collections of code and manual migration is a daunting task. In this paper, we provide an automated approach to the library migration problem using program transformations. The solution developed in this paper enables rapid adaptation and re-targeting of Java libraries in the presence of evolving libraries and evolving embedded platforms.

References

  1. Robert L. Akers, Ira D. Baxter, Michael Mehlich, Brian J. Ellis, and Kenn R. Luecke. Case study: Re-engineering C++ component models via automatic program transformation. Information and Software Technology, 49:275--291, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Ittai Balaban, Frank Tip, and Robert Fuhrer. Refactoring Support for Class Library Migration. In Proceedings of OOPSLA 2005, pages 265--279, San Diego, California, United States, 2005. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Danny Dig and Ralph Johnson. The Role of Refactorings in API Evolution. In Proceedings of the 21st IEEE International Conference on Software Maintenance (ICSM'05), pages 389--398. IEEE, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Alan Donovan, Adam Kiezun, Matthew S. Tschantz, and Michael D. Ernst. Converting Java Programs to Use Generic Libraries. In Proceedings of OOPSLA 2004, pages 15--34, Vancouver, BC, Canada, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Johannes Henkel and Amer Diwan. CatchUp! Capturing and Replaying Refactorings to Support API Evolution. In Proceedings of the 27th International Conference on Software Engineering (ICSE'05), St.Louis, Missouri, USA, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. R. Lämmel and J. Visser. Typed Combinators for Generic Traversal. In Practical Aspects of Declarative Programming PADL 2002, volume 2257 of LNCS, pages 137--154. Springer-Verlag, January 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Ralf Lämmel, Eelco Visser, and Joost Visser. The Essence of Strategic Programming. 2002.Google ScholarGoogle Scholar
  8. Daniel Lohmann, Wolfgang Schröder-Preikschat, and Olaf Spinczyk. On the Design and Development of a Customizable Embedded Operating System. In Proceedings of the International Workshop on Dependable Embedded Systems, 23rd Symposium on Reliable Distributed Systems (SRDS 2004), October 2004.Google ScholarGoogle Scholar
  9. J. A. McCoy. An Embedded System for Safe, Secure and Reliable Execution of High Consequence Software. In HASE 2004: The 5th IEEE International Symposium on High Assurance Systems Engineering, pages 107--114, Albuquerque, New Mexico, United States, 2004. IEEE.Google ScholarGoogle Scholar
  10. Sun Microsystems. Java card technology. http://java.sun.com/products/javacard/.Google ScholarGoogle Scholar
  11. Bjorn De Sutter, Frank Tip, and Julian Dolby. Customization of Java Library Classes using Type Constraints and Profile Information. In Proceedings of ECOOP 2004, pages 585--609, Oslo, Norway, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  12. Frank Tip, Adam Kiezun, and Dirk Baumer. Refactoring for Generalization using Type Constraints. In Proceedings of OOPSLA 2003, pages 13--26, Anaheim, California, USA, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. E. Visser, Z. e. A. Benaissa, and A. Tolmach. Building program optimizers with rewriting strategies. In third ACM SIGPLAN International Conference on Functional Programming (ICFP'98), pages 13--26. ACM Press, September 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. G. L. Wickstrom, J. Davis, S. E. Morrison, S. Roach, and V. L. Winter. The SSP: An Example of High-Assurance System Engineering. In HASE 2004: The 8th IEEE International Symposium on High Assurance Systems Engineering, pages 167--177, Tampa, Florida, United States, 2004. IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. V. Winter and M. Subramaniam. Dynamic Strategies, Transient Strategies, and the Distributed Data Problem. Science of Computer Programming (Special Issue on Program Transformation), 52:165--212, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Victor Winter and Jason Beranek. Program Transformation Using HATS 1.84. In Ralf Lämmel, JoHao Saraiva, and Joost Visser, editors, Generative and Transformational Techniques in Software Engineering (GTTSE), volume 4143 of LNCS, pages 378--396, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Victor L. Winter, Christopher Scalzo, Arpit Jain, Brent Kucera, and Azamatbek Mametjanov. Comprehension of generative techniques. In Software Transformation Systems Workshop (STS), 2006.Google ScholarGoogle Scholar
  18. V. L. Winter. Strategy Construction in the Higher-Order Framework of TL. Electronic Notes in Theoretical Computer Science (ENTCS), 124, 2004.Google ScholarGoogle Scholar

Index Terms

  1. Generative programming techniques for Java library migration

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      GPCE '07: Proceedings of the 6th international conference on Generative programming and component engineering
      October 2007
      206 pages
      ISBN:9781595938558
      DOI:10.1145/1289971

      Copyright © 2007 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 October 2007

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      Overall Acceptance Rate56of180submissions,31%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader