DocumentCode :
588596
Title :
Refactoring in the presence of annotations
Author :
Noguera, Carlos ; Kellens, A. ; De Roover, Coen ; Jonckers, Viviane
Author_Institution :
Software Languages Lab., Vrije Univ., Brussels, Belgium
fYear :
2012
fDate :
23-28 Sept. 2012
Firstpage :
337
Lastpage :
346
Abstract :
Current-day programming languages include constructs to embed meta-data in a program´s source code in the form of annotations. More than mere documentation, these annotations are used in modern frameworks to map source-level entities to domain-specific ones. A common example being the Hibernate Object-Relational Mapping framework that relies on annotations to declare persistence configurations. While the presence of annotations extends the base semantics of the language, it also imposes restrictions on the annotated program. In this paper we consider the manner in which annotations affect automated refactorings, and in particular how they break their behavior preservation. As refactorings, during their condition checking phase, ignore the annotation´s restrictions they can no longer guarantee the preservation of the domain-specific mappings. To address this problem, we propose to make the restrictions of the annotations explicit, and use them to steer the refactoring process. A prototype extension of the Eclipse IDE´s refactoring engine is used to demonstrate our approach on three annotation libraries: Java Persistence API, AspectJ5 and Simple XML serialization.
Keywords :
Java; XML; application program interfaces; programming language semantics; programming languages; software maintenance; AspectJ5; Eclipse IDE refactoring engine; Java Persistence API; Simple XML serialization; annotation form; application program interface; behavior preservation; domain-specific entity; extensible markup language; hibernate object-relational mapping framework; language semantics; meta data; persistence configuration; program refactoring; programming language; source-level entity; Conferences; Databases; Engines; Java; Libraries; Semantics; Software maintenance; Annotations; Refactoring; Tool support;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Maintenance (ICSM), 2012 28th IEEE International Conference on
Conference_Location :
Trento
ISSN :
1063-6773
Print_ISBN :
978-1-4673-2313-0
Type :
conf
DOI :
10.1109/ICSM.2012.6405291
Filename :
6405291
Link To Document :
بازگشت