This book presents source code modularization as a key activity in reverse engineering to extract the software architecture from the existing source code. To this end, it provides detailed techniques for source code modularization and discusses their effects on different software quality attributes. Nonetheless, it is not a mere survey of source code modularization algorithms, but rather a consistent and unifying theoretical modularization framework, and as such is the first publication that comprehensively examines the models and techniques for source code modularization.
It enables readers to gain a thorough understanding of topics like software artifacts proximity, hierarchical and partitional modularization algorithms, search- and algebraic-based software modularization, software modularization evaluation techniques and software quality attributes and modularization.
This book introduces students and software professionals to the fundamental ideas of source code modularization concepts, similarity/dissimilarity metrics, modularization metrics, and quality assurance. Further, it allows undergraduate and graduate students in software engineering, computer science, and computer engineering with no prior experience in the software industry to explore the subject in a step-by-step manner. Practitioners benefit from the structured presentation and comprehensive nature of the materials, while the large number of bibliographic references makes this book a valuable resource for researchers working on source code modularization.