Please use this identifier to cite or link to this item: http://dspace.dtu.ac.in:8080/jspui/handle/repository/13843
Title: REFACTORING TECHNIQUES FOR JAVASCRIPT
Authors: JOSHI, ABHAY
Keywords: JAVASCRIPT
REFACTORING TECHNIQUES
Issue Date: 15-Dec-2011
Series/Report no.: TD 772;94
Abstract: In the past decade a lot of IDEs (Integrated Development Environment) like Visual Studio[53], Eclipse[54], Netbeans[55] etc. have embedded refactoring support in their software packages. Yet, they are merely supporting a few specific refactoring techniques (like move method, extract method and rename method). Moreover many of these IDEs do have a lot of bugs in their software packages.[22] In my thesis work I have focused on the code refactoring level. On the basis of my research I have found that till now most of the refactoring work has been done on languages like Java, C++, HTML, PHP and Ruby. Seeing the growing popularity of Javascript[5] I thought about ways to apply these refactoring techniques to the Javascript code. I have also tried to figure out why some of the techniques applicable to Java/C++ can't be applied to Javascript. This thesis describes the way in which refactoring techniques can be applied to Javascript code in a way that preserves the external behavior of a software. These techniques can prove to be beneficial in the design, reuse and evolution of objectoriented Javascript code. The focus of this thesis is on the ways in which the refactoring techniques applicable to Javascript code that can be automated completely or up to a certain level. There are certain language specific syntactic constraints that need to be satisfied to automate some refactorings. I have discussed them in my thesis. This thesis also discusses limitations of class based object-oriented languages like Java and C++ over prototype based object-oriented languages like Javascript that led me to choose Javascript as the preferred language. The need for refactoring objectoriented code has also been discussed till a certain depth. Several algorithms have been developed by me during this thesis work which I have tried to implement practically in my tool AKAAR[60] for refactoring Javascript. Some of refactorings discussed in this thesis might seem practically not too difficult to many people but these refactorings require details regarding interrelationships between various parts of a program.
Description: M.TECH
URI: http://dspace.dtu.ac.in:8080/jspui/handle/repository/13843
Appears in Collections:M.E./M.Tech. Computer Technology & Applications

Files in This Item:
File Description SizeFormat 
thesisFinal.pdf1.05 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.