Changes during software evolution and poor design decisions often to packages that are hard to understand and maintain, because they usually group together classes with unrelated responsibilities. One way to improve such packages is to decompose them into smaller, more cohesive packages. The difficulty lies in the fact that most definitions and interpretations of cohesion are rather vague and the multitude of measures proposed by researchers usually capture only one aspect of cohesion. We propose a new technique for automatic re-modularization of packages, which uses structural and semantic measures to decompose a package into smaller, more cohesive ones. The paper presents the new approach as well as an empirical study, which evaluates ...
Modularity is one of the key principles of software design. In order for a software system to be mod...
Abstract—The quality of software systems depends heavily on the quality of their structure, which af...
Oftentimes, during software maintenance the original program modularization decays, thus reducing it...
Changes during software evolution and poor design decisions often to packages that are hard to unde...
Abstract—There exist many large object-oriented software sys-tems consisting of several thousands of...
Since the earliest days of software development, the issue of software modularity has been addressed...
The traditional modular structure defined by the package hierarchy suffers from the dominant decompo...
International audienceThere exist many large object-oriented software systems consisting of several ...
Software evolves over time with the modification, addition and removal of new classes, methods, func...
Abstract—Software re-modularization is an old preoccupation of reverse engineering research. The adv...
Low coupling between modules and high cohesion inside each module are the key features of good softw...
TheseTo cope with the complexity of large object-oriented software systems, developers organize clas...
AbstractThe software maintenance activities performed without following the original design decision...
Abstract—Recently, there has been an important progress in applying search-based optimization techni...
Parnas\u27 seminal 1972 paper, On the Criteria To Be Used in Decomposing Systems into Modules, ide...
Modularity is one of the key principles of software design. In order for a software system to be mod...
Abstract—The quality of software systems depends heavily on the quality of their structure, which af...
Oftentimes, during software maintenance the original program modularization decays, thus reducing it...
Changes during software evolution and poor design decisions often to packages that are hard to unde...
Abstract—There exist many large object-oriented software sys-tems consisting of several thousands of...
Since the earliest days of software development, the issue of software modularity has been addressed...
The traditional modular structure defined by the package hierarchy suffers from the dominant decompo...
International audienceThere exist many large object-oriented software systems consisting of several ...
Software evolves over time with the modification, addition and removal of new classes, methods, func...
Abstract—Software re-modularization is an old preoccupation of reverse engineering research. The adv...
Low coupling between modules and high cohesion inside each module are the key features of good softw...
TheseTo cope with the complexity of large object-oriented software systems, developers organize clas...
AbstractThe software maintenance activities performed without following the original design decision...
Abstract—Recently, there has been an important progress in applying search-based optimization techni...
Parnas\u27 seminal 1972 paper, On the Criteria To Be Used in Decomposing Systems into Modules, ide...
Modularity is one of the key principles of software design. In order for a software system to be mod...
Abstract—The quality of software systems depends heavily on the quality of their structure, which af...
Oftentimes, during software maintenance the original program modularization decays, thus reducing it...