skip to main content
10.1145/1639950.1640028acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
demonstration

Trailblazer: a tool for automated annotation refactoring

Published:25 October 2009Publication History

ABSTRACT

Since annotations were added to the Java language, many enterprise frameworks have been transitioning to using annotated Plain Old Java Objects (POJOs) in their latest releases. Our automated refactoring tool, Trailblazer, alleviates the maintenance burden of such annotation refactoring tasks. The tool implements a novel approach that leverages a machine learning algorithm to infer semantics-preserving rules that are then used to automatically transform legacy Java classes.

Using Trailblazer involves two phases. First, given an XML-based framework application, a programmer creates an annotation-based version of the application by hand, with Trailblazer recording the programmer's actions. Trailblazer then uses inductive learning to infer generalized upgrade rules. In the second phase, other programmers can apply the inferred general transformation rules to upgrade any other application that uses the same framework. Thus, once one developer has trailblazed through the hurdles of manually upgrading for a given framework, other developers can automatically follow along the beaten path. In this demonstration, we will use transparent persistence as our example domain to show how Trailblazer can infer generalized rules and then automatically upgrade a legacy enterprise application that uses EJB 2.0 XML configuration files, to use EJB 3.0 annotations.

References

  1. R. Mohan, P. Norvig, S. Russell, and C. O'Reilly. Artificial Intelligence: A Modern Approach. http://aima.cs.berkeley.edu/.Google ScholarGoogle Scholar
  2. D. Panda, D. Clarke, and M. Schincariol. EJB 3.0 migration. Technical report, Oracle, October 2005.Google ScholarGoogle Scholar
  3. Sun Developer Network. Java Pet Store 2.0 reference application. http://java.sun.com/developer/releases/petstore/petstore1_3_1_02.html.Google ScholarGoogle Scholar
  4. Sun Microsystems Inc. Java 2 Platform, Enterprise Edition (J2EE), 2003.Google ScholarGoogle Scholar
  5. W. Tansey and E. Tilevich. Annotation refactoring: inferring upgrade transformations for legacy applications. In OOPSLA '08: Proceedings of the 23rd ACM SIGPLAN conference on Object oriented programming systems languages and applications, pages 295--312, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Trailblazer: a tool for automated annotation refactoring

            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

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader