Software maintenance is the lifecycle activity that consumes the greatest amount of resources. Maintenance is a difficult task because of the size of software systems. Much of the time spent on maintenance is spent trying to understand source code. Refactoring offers a way to improve source code design and quality. We present an approach to refactoring that is based on the functionality of source code. Sets of heuristics are captured as patterns of source code. Refactoring opportunities are located using these patterns, and dependencies are verified to check if the located refactorings preserve the dependencies in the source code. Our automated tool performs the functional-based refactoring opportunities detection process, verifies dependen...
Refactoring, as coined by William Obdyke in 1992, is the art of optimizing the syntactic design of a...
Few pieces of software are ideal. Requirements may change during design, development or even post de...
Software has been and is still mostly refactored without tool support. Moreover, as we found in our ...
Poorly structured code is hard to maintain and read. Refactoring can improve the code structure and ...
Abstract—Software systems that undergo repeated addi-tion of functionality commonly suffer a loss of...
Software development is a messy process filled with an assortment of widely varying practices, proce...
During its lifecycle, the internal structure of a software system undergoes continuous modifications...
Code refactoring, the act of changing the design of code without affecting its functionality, is a r...
Software organizations face constant pressure due to stakeholder requirements and the increasing com...
Refactoring aims at improving the internal structure of a software system without changing its exter...
The purpose of refactoring is to improve the quality of a software system by changing its internal d...
Software refactoring is the activity associated with developers changing the internal structure of s...
Refactoring enhances software quality in an evolving system. Developers perform behavior-preserving ...
Refactoring aims at restructuring existing source code when undisciplined development activities hav...
Refactorings are widely recognised as ways to improve the internal structure of object-oriented soft...
Refactoring, as coined by William Obdyke in 1992, is the art of optimizing the syntactic design of a...
Few pieces of software are ideal. Requirements may change during design, development or even post de...
Software has been and is still mostly refactored without tool support. Moreover, as we found in our ...
Poorly structured code is hard to maintain and read. Refactoring can improve the code structure and ...
Abstract—Software systems that undergo repeated addi-tion of functionality commonly suffer a loss of...
Software development is a messy process filled with an assortment of widely varying practices, proce...
During its lifecycle, the internal structure of a software system undergoes continuous modifications...
Code refactoring, the act of changing the design of code without affecting its functionality, is a r...
Software organizations face constant pressure due to stakeholder requirements and the increasing com...
Refactoring aims at improving the internal structure of a software system without changing its exter...
The purpose of refactoring is to improve the quality of a software system by changing its internal d...
Software refactoring is the activity associated with developers changing the internal structure of s...
Refactoring enhances software quality in an evolving system. Developers perform behavior-preserving ...
Refactoring aims at restructuring existing source code when undisciplined development activities hav...
Refactorings are widely recognised as ways to improve the internal structure of object-oriented soft...
Refactoring, as coined by William Obdyke in 1992, is the art of optimizing the syntactic design of a...
Few pieces of software are ideal. Requirements may change during design, development or even post de...
Software has been and is still mostly refactored without tool support. Moreover, as we found in our ...