Many existing software systems can benefit from restructuring to reduce maintenance cost and improve reusability. Yet, intuition-based, ad-hoc restructuring can be difficult and expensive, and can even make software structure worse. We introduce a quantitative framework for software restructuring. In the framework, restructuring decisions are guided by visualized design information and objective criteria. The design information can be extracted directly from code to restructure existing or legacy software. Criteria for comparing alternative design structures including measures of design-level cohesion and coupling. Restructuring is accomplished through a series of decomposition and composition operations which increase the cohesion and/or d...
Low coupling between modules and high cohesion inside each module are the key features of good softw...
The maintenance activity in large software development efforts is complex, primarily due to the evol...
Changes during software evolution and poor design decisions often to packages that are hard to unde...
Many existing software systems can bene t from restructuring to reduce maintenance cost and improve ...
Software restructuring can improve the maintainability and understandability of programs. We propose...
In the last twenty years the software engineering community has adopted structured methods for the d...
Abstract—Software re-modularization is an old preoccupation of reverse engineering research. The adv...
Program restructuring is a key method for improving the quality of ill-structured programs, thereby ...
for Program Maintenance tends to degrade the structure of software, ultimately making maintenance mo...
Abstract—The quality of software systems depends heavily on the quality of their structure, which af...
A major goal of software restructuring is to preserve or increase the value of a piece of software. ...
Program restructuring is a key method for improving the quality of ill-structured programs, thereby ...
Restructuring software to improve its design can lower software maintenance costs. One problem encou...
Program restructuring or refactoring is often required when a function becomes too large or is invol...
It has been mentioned that application should be designed for maintenance [AlC98]. Maintainability i...
Low coupling between modules and high cohesion inside each module are the key features of good softw...
The maintenance activity in large software development efforts is complex, primarily due to the evol...
Changes during software evolution and poor design decisions often to packages that are hard to unde...
Many existing software systems can bene t from restructuring to reduce maintenance cost and improve ...
Software restructuring can improve the maintainability and understandability of programs. We propose...
In the last twenty years the software engineering community has adopted structured methods for the d...
Abstract—Software re-modularization is an old preoccupation of reverse engineering research. The adv...
Program restructuring is a key method for improving the quality of ill-structured programs, thereby ...
for Program Maintenance tends to degrade the structure of software, ultimately making maintenance mo...
Abstract—The quality of software systems depends heavily on the quality of their structure, which af...
A major goal of software restructuring is to preserve or increase the value of a piece of software. ...
Program restructuring is a key method for improving the quality of ill-structured programs, thereby ...
Restructuring software to improve its design can lower software maintenance costs. One problem encou...
Program restructuring or refactoring is often required when a function becomes too large or is invol...
It has been mentioned that application should be designed for maintenance [AlC98]. Maintainability i...
Low coupling between modules and high cohesion inside each module are the key features of good softw...
The maintenance activity in large software development efforts is complex, primarily due to the evol...
Changes during software evolution and poor design decisions often to packages that are hard to unde...