ACM Home Page
Please provide us with feedback. Feedback
JIAD: a tool to infer design patterns in refactoring
Full text PdfPdf (182 KB)
Source
International Conference on Principles and Practice of Declarative Programming archive
Proceedings of the 6th ACM SIGPLAN international conference on Principles and practice of declarative programming table of contents
Verona, Italy
Pages: 227 - 237  
Year of Publication: 2004
ISBN:1-58113-819-9
Authors
J. Rajesh  Indian Institute of Technology Madras, Chennai, India
D. Janakiram  Indian Institute of Technology Madras, Chennai, India
Sponsors
ACM: Association for Computing Machinery
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 9,   Downloads (12 Months): 51,   Citation Count: 2
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1013963.1013988
What is a DOI?

ABSTRACT

Refactoring in object-orientation has gained increased attention due to its ability to improve design quality. Refactoring using design patterns (DPs) leads to production of high quality software systems. Although numerous tools related to refactoring exist, only a few of them apply design patterns in refactoring. Even these do not clearly specify where refactoring can be applied and when to apply appropriate design patterns.In this paper, we propose a tool, JIAD (Java based Intent-Aspects Detector) which addresses the refactoring issues such as, the scope for applying DPs in the code and the appropriate selection of DPs. The tool automates the identification of Intent-Aspects (IAs) which helps in applying suitable design patterns while refactoring the Java code. By automating the process of identifying IAs, the whole process of refactoring using DPs can be automated which enables rapid development of software systems. Also, the tool minimizes the number of possible errors while inferring the suitable DPs to apply refactoring. Our approach primarily focuses on Java code refactoring using declarative programming and AspectJ compiler. Finally, the tool is validated using two applications namely, JLex and Java2Prolog written in Java.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
IntelliJ. http://www.intellij.com.
 
2
TyRuBa. http://tyruba.sourceforge.net.
 
3
RajiNarayan. AspectJ Compiler. http://cvs.sourceforge.net/viewcvs.py/tyruba/frontend/org/aspectj/.
 
4
D. Janaki Ram and J. Rajesh. Detecting Intent Aspects from Code to Apply Design Patterns in Refactoring: An Approach Towards a Refactoring Tool. In Proceedings of 2nd Workshop on Software Design and Architecture(SODA)04, Jan. 2004.
 
5
 
6
 
7
Donald Bradley Roberts. Practical Analysis for Refactoring. PhD thesis, Univerisity of Illinois at Urbana-Champaign, June 1999.
 
8
 
9
Elliot Berki. JLex: A lexical analyzer generator for Java. http://www.cs.princeton.edu/~appel/modern/java/JLex/.
 
10
 
11
12
 
13
Johan Brichau and Kim Mens. Declarative Meta Programming. http://prog.vub.ac.be/research/DMP/.
 
14
 
15
Kris De Volder. Type-Oriented Logic Meta Programming. PhD thesis, Vrije Universiteit Brussel, Programming Technology Laboratory, June 1998.
 
16
Marius Scurtescu. Java Program Representation and Manipulation in Prolog. Master's thesis, SFU_CS_School, 2000.
 
17
18
 
19
R.Rajagopalan and Kris De Volder. QJBrowser: A Query-Based Browser for Exploring Cross Cutting Concerns in Code. Technical Report, University of British Columbia, 2002.
20
 
21
 
22
 
23
Wielemaker. Prolog Reference Manual. http://swi.psy.uva.nl/projects/SWI-Prolog.
24
 
25