Please use this identifier to cite or link to this item: http://dspace.dtu.ac.in:8080/jspui/handle/repository/15001
Title: INVESTIGATING THE EFFECTS OF REFACTORING ON SOFTWARE MAINTAINABILITY
Authors: GAUR, SACHIN
Keywords: REFACTORING HEURISTICS
MAINTAINABILITY
SOFTWARE EVOLUTION
CLASSIFICATION
Issue Date: Jul-2016
Series/Report no.: TD NO.1700;
Abstract: Software evolution is a term used for repeated modifications in a software system caused by changing existing requirements, emerging new requirements or bug fixes. Refactoring is a process where a code is restructured is such a manner that certain attributes of the code improve, without having any effect on its external behavior. It improves the code design, making it easier to be understood and to be extended and it becomes quicker if any complicated feature or system is to be accommodated in it. The internal structure is improved. It removes bad smells from the code, which essentially means getting rid of unclear, duplicate or complicated design problems. There are a number of Refactoring techniques available. It has been observed that different techniques have a different effect on various quality attributes of the code. Because each technique has a varied effect on various codes, it is difficult for a designer to decide which technique to opt for to get the desired effect. Each technique essentially has a different purpose and effect. This study intends to generate a heuristics on these techniques. This classification will be based on the measurable effects that these Refactoring techniques have on various software quality attributes. These heuristics will help the designer develop an understanding as to which technique will change their code attributes in what manner and hence it will be easy for them to predict the change that their software quality will undergo after a particular Refactoring technique is applied to it. Department of Software Engineering, Delhi Technological University Page vi In this study, we take into consideration the effect of Refactoring on four software quality attributes of software. This research focuses on presenting refactoring heuristics based on their quantifiable outcome on software quality attributes which takes into account its internal and external quality attributes. Also we have taken into consideration forty three Refactoring techniques out of all those suggested by Martin Fowler in his catalog [1], in order to study their effects on four software quality attributes namely Effectiveness, Flexibility, Reusability and Extendibility and thus affecting the overall maintainability. Also QMOOD quality model has been used to relate design measures to software quality attributes. After a detailed logical analysis of these effects a heuristic has been generated which suggests that which refactoring technique improves a specific software quality and which one is susceptible to deteriorate it. Also which refactoring technique has no effect on it. Such heuristic results have been validated by an industrial survey. The refactoring heuristics deduced from our study was shared with a team of developers who work in real world industrial environment. They were asked to pick and apply the refactoring technique as suggested by this study and share his / her views on the same. They were then asked to fill up a survey form which pertained to the changes in quality of the software after applying refactoring. The results received in this survey are mostly in line with the observed heuristic data. Overall, it is sure to help design engineers who have a particular design objective in their mind to pick the most suited Refactoring technique which will drift the quality attributes of their design towards the desired value. When any quality attribute needs to be changed then the most fitting Refactoring technique can be applied.
URI: http://dspace.dtu.ac.in:8080/jspui/handle/repository/15001
Appears in Collections:M.E./M.Tech. Computer Engineering

Files in This Item:
File Description SizeFormat 
Effects_of_Refactoring_on_SW_Maintainability_Mtech_2K11_ST17.pdf1.02 MBAdobe PDFView/Open


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