The original design of a software system is rarely prepared for every new requirement. Software systems should be updated frequently, which is usually accompanied by the decline in software modularity and quality. Although many approaches have been proposed to improve the quality of software, a majority of them are guided by metrics defined on the local properties of software. In this article, we propose to use a global metric borrowed from the network science to detect the moving method refactoring. First, our approach uses a bipartite network to represent classes, features (i.e., methods and fields), and their dependencies. Second, a new metric is introduced to quantify the modularity of a software system as a whole. Finally, a crossover-...
For large software systems, refactoring activities can be a challenging task, since for keeping comp...
Re-modularization of software systems is a key technique used in testing and maintenance phase of th...
With the evolution of a language, the possibility of updating old constructions and benefiting from...
Modularity is one of the four key principles of software design and architecture. According to this ...
A software system’s structure degrades over time, a phe-nomenon that is known as software decay or d...
Refactorings tackle the challenge of architectural degradation of object-oriented software projects ...
Software refactoring is a software maintenance action to improve the software internal quality witho...
During various phases of software development lifecycle, the internal structure of the software degr...
We present a study on the refactoring activities performed during the evolution of 7 popular Java op...
Software Refactoring consists in reconstructing the code design of an object-oriented system without...
Refactoring is widely used among the practices of Agile software development. In this preliminary wo...
Refactoring is a growing research area in the field of software remodularization. Refactoring is an ...
The automatic detection of refactoring recommendations has been tackled in prior optimization studie...
One of the undesired effects of software evolution is the proliferation of unused components, which ...
Advances in the domain of software-based technology pave the way for widespread use of object-orient...
For large software systems, refactoring activities can be a challenging task, since for keeping comp...
Re-modularization of software systems is a key technique used in testing and maintenance phase of th...
With the evolution of a language, the possibility of updating old constructions and benefiting from...
Modularity is one of the four key principles of software design and architecture. According to this ...
A software system’s structure degrades over time, a phe-nomenon that is known as software decay or d...
Refactorings tackle the challenge of architectural degradation of object-oriented software projects ...
Software refactoring is a software maintenance action to improve the software internal quality witho...
During various phases of software development lifecycle, the internal structure of the software degr...
We present a study on the refactoring activities performed during the evolution of 7 popular Java op...
Software Refactoring consists in reconstructing the code design of an object-oriented system without...
Refactoring is widely used among the practices of Agile software development. In this preliminary wo...
Refactoring is a growing research area in the field of software remodularization. Refactoring is an ...
The automatic detection of refactoring recommendations has been tackled in prior optimization studie...
One of the undesired effects of software evolution is the proliferation of unused components, which ...
Advances in the domain of software-based technology pave the way for widespread use of object-orient...
For large software systems, refactoring activities can be a challenging task, since for keeping comp...
Re-modularization of software systems is a key technique used in testing and maintenance phase of th...
With the evolution of a language, the possibility of updating old constructions and benefiting from...