The traditional modular structure defined by the package hierarchy suffers from the dominant decomposition problem and it is widely accepted that alternative forms of modularization are necessary to increase developer’s productivity. In this paper, we propose an al-ternative form to understand and assess package modularity based on co-change clusters, which are highly inter-related classes con-sidering co-change relations. We evaluate how co-change clusters relate to the package decomposition of three real-world systems. The results show that the projection of co-change clusters to pack-ages follow different patterns in each system. Therefore, we claim that modular views based on co-change clusters can improve devel-opers ’ understanding on...
TheseTo cope with the complexity of large object-oriented software systems, developers organize clas...
In general, the phenomenon of managing modularization is not well known. The cause-effect relationsh...
Pour faire face à la complexité des grands systèmes logiciels orientés objets, les programmeurs orga...
International audienceCo-change clusters are groups of classes that frequently change together. They...
Modularidade é um conceito chave em projeto de sistemas de software complexos. No entanto, decomposi...
Since the earliest days of software development, the issue of software modularity has been addressed...
Changes during software evolution and poor design decisions often to packages that are hard to unde...
International audienceThere exist many large object-oriented software systems consisting of several ...
Abstract—There exist many large object-oriented software sys-tems consisting of several thousands of...
Software evolves over time with the modification, addition and removal of new classes, methods, func...
Due to copyright restrictions, the access to the full text of this article is only available via sub...
Abstract—In the long-term evolution of software systems, various maintenance activities such as func...
Parnas\u27 seminal 1972 paper, On the Criteria To Be Used in Decomposing Systems into Modules, ide...
The quality of software systems heavily depends on their structure, which affects maintainability an...
In this paper, we review what we have learned from imple-menting languages for parallel and concurre...
TheseTo cope with the complexity of large object-oriented software systems, developers organize clas...
In general, the phenomenon of managing modularization is not well known. The cause-effect relationsh...
Pour faire face à la complexité des grands systèmes logiciels orientés objets, les programmeurs orga...
International audienceCo-change clusters are groups of classes that frequently change together. They...
Modularidade é um conceito chave em projeto de sistemas de software complexos. No entanto, decomposi...
Since the earliest days of software development, the issue of software modularity has been addressed...
Changes during software evolution and poor design decisions often to packages that are hard to unde...
International audienceThere exist many large object-oriented software systems consisting of several ...
Abstract—There exist many large object-oriented software sys-tems consisting of several thousands of...
Software evolves over time with the modification, addition and removal of new classes, methods, func...
Due to copyright restrictions, the access to the full text of this article is only available via sub...
Abstract—In the long-term evolution of software systems, various maintenance activities such as func...
Parnas\u27 seminal 1972 paper, On the Criteria To Be Used in Decomposing Systems into Modules, ide...
The quality of software systems heavily depends on their structure, which affects maintainability an...
In this paper, we review what we have learned from imple-menting languages for parallel and concurre...
TheseTo cope with the complexity of large object-oriented software systems, developers organize clas...
In general, the phenomenon of managing modularization is not well known. The cause-effect relationsh...
Pour faire face à la complexité des grands systèmes logiciels orientés objets, les programmeurs orga...