About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
Abstract
Without refactoring, complex software-intensive systems become increasingly irregular and thus increasingly chaotic over time. We can understand complex software systems only when they're nearly decomposable and hierarchic. One measure the author uses is lines of source code: the greater the SLOC, the more inertia to change the system will have, the more people it will take to keep it fed, the more stakeholders who will be crawling all over it. The author describes the more complex measures he uses; these are tuned to Philippe Kruchten's 4+1 view model of architecture. He also counts the number of identifiable design patterns at work. These metrics can generally be gathered automatically via clever mining of configuration management and testing data. © 2008 IEEE.