Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
A desiderata for refactoring-based software modularity improvement
Rama G.  ISEC 2010 (Proceedings of the 3rd India Software Engineering Conference, Mysore, India, Feb 25-27, 2010)93-102.2010.Type:Proceedings
Date Reviewed: May 27 2010

While problems with large, business-critical legacy systems written in older languages, such as Cobol, have been well publicized, less has been reported about similar applications written in more modern languages, such as Java, which have been under active maintenance for at least ten years. A major difference between these two categories is that the old systems never had any modular structure, while the newer ones were implemented with a modular structure that has deteriorated due to bug fixes, feature additions, and modifications.

Techniques have been put forward that aim to modularize monolithic systems by attempting to group files. Rama argues, in this paper, that a different approach is required for dealing with modular deterioration. Rather than working at the file level, the idea is to reinstate modularity by applying techniques based on refactoring, to alter the code within the files. The first step to achieving this is to detect smells that point to a number of specific modularity problems. The five smells suggested mirror several of the good modularity principles suggested by Sarkar et al. [1]: improper inter-module calls, goal dispersion, overweight modules, back layer calls, and purpose dissimilarity.

Rama reports the results of applying a prototype tool to detect four of these smells--excluding layering--in a number of large open-source systems: a version of Linux, Apache, postgresql, and Hibernate. The results indicate that further work is worth pursuing, but that false positives may prove to be a problem.

This work represents the first tentative step in a bid to provide a tool for reimposing modularization in software under active maintenance. The paper is easy to read and will be of interest mainly to researchers in the areas of software maintenance and legacy systems.

Reviewer:  T. Hopkins Review #: CR138044 (1104-0404)
1) Sarkar, S.; Rama, G.; Kak, A. C. API-based and information-theoretic metrics for measuring the qualityof software modularization . IEEE Transactions on Software Engineering 33, 1(2007), 14–32.
Bookmark and Share
  Featured Reviewer  
 
Restructuring, Reverse Engineering, And Reengineering (D.2.7 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Restructuring, Reverse Engineering, And Reengineering": Date
Software evolution: the software maintenance challenge
Arthur L., Wiley-Interscience, New York, NY, 1988. Type: Book (9789780471628712)
Mar 1 1989
The year 2000 computing crisis
Murray J., Murray M., McGraw-Hill, Inc., New York, NY, 1996. Type: Book (9780079129451)
Oct 1 1996
Constraint-based design recovery for software reengineering
Woods S., Quilici A., Yang Q., Kluwer Academic Publishers, Norwell, MA, 1998. Type: Book (9780792380672)
Dec 1 1998
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy