Abstract

Quality software are robust, reliable and easy to maintain, and therefore reduces the cost of software maintenance. Since software systems undergo modifications, improvements and enhancements to cope with evolving requirements, quality of software can be decreased. While software system is evolving, refactoring is one of the methods which have been applied with the purpose of improving the software quality. Refactoring is defined as the process of improving the design of the existing code by changing its internal structure without affecting its external behavior, with the main aims of improving the quality of software product. Therefore, there is a belief that refactoring improves quality factors such as understandability, flexibility, and reusability. However, there is limited empirical evidence to support such assumptions.The objective of this study is to validate/invalidate the claims that refactoring improves software quality. Experimental research approach was used to achieve the objective and ten selected refactoring techniques were used for the analysis. The overall impact of selected refactoring techniques and the impact of individual refactoring technique were assessed based on external measures namely; analyzability, changeability, time behavior and resource utilization.After analyzing the experimental results, overall analysis ended up with the result that refactoring deteriorates the code quality. However, individual analysis shows that some refactoring techniques improve the code quality while rest is deteriorating the code quality. Furthermore, among the tested ten refactoring techniques, “Replace Conditional with Polymorphism” ranked in the highest as having high percentage of improvement in code quality and “Introduce Null Object” was ranked as worst which is having highest percentage of deteriorate of code quality among the analyzed ten refactoring techniques.International Journal on Advances in ICT for Emerging Regions 2014 07 (02)DOI: http://dx.doi.org/10.4038/icter.v7i2.7156

Highlights

  • Software quality can be described as the conformance to functional and non-functional requirements, which are related to characteristics described in the ISO-9126 standardManuscript updated on February 12, 2014

  • RESEARCH FINDINGS AND DISCUSSION Impact of refactoring on code quality improvement using external measures were measured using four sub quality factors defined in ISO 9126 quality model

  • The main objective of this study was to assess the impact of refactoring on code quality improvement in software maintenance

Read more

Summary

Introduction

Software quality can be described as the conformance to functional and non-functional requirements, which are related to characteristics described in the ISO-9126 standardManuscript updated on February 12, 2014. Software quality can be described as the conformance to functional and non-functional requirements, which are related to characteristics described in the ISO-9126 standard. Namely reliability, usability, efficiency, maintainability and portability [1]. The factors that affect software quality can be classified into two groups [2]: factors that can be directly measured i.e. internal quality attributes (e.g. Coupling, Cohesion, Line of Code and etc.) and factors that can be measured only indirectly i.e. external quality attributes (e.g. understandability, analyzability and etc.). Reliable and easy to maintain, and reduces the cost of software maintenance [3]. Developers and designers always strive for quality software. Any useful software system requires constant evolution and change. While software system is evolving, maintaining the software quality is one of the vital factors in software maintenance process

Objectives
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call