Ronald Tombe et al, International Journal of Computer Science and Mobile Computing, Vol.3 Issue.11, November- 2014, pg. 89-101 © 2014, IJCSMC All Rights Reserved 89 Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology ISSN 2320088X IJCSMC, Vol. 3, Issue. 11, November 2014, pg.89 101 RESEARCH ARTICLE Cyclomatic Complexity Metrics for Software Architecture Maintenance Risk Assessment RONALD TOMBE * Dr. GEORGE OKEYO ** Dr. STEPHEN KIMANI *** *Dept. of Computing Sciences, Kisii University, Kenya **Dept. of Computing, Jomo Kenyatta University of Agriculture and Technology, Kenya ***Dept. of Computing, Jomo Kenyatta University of Agriculture and Technology. Kenya Abstract: A well-defined strategy is a key to successful software project maintenance as it enables change management and minimize risks associated with the future operation of the software. Software maintainers usually are not engaged in the initial software development cycle. Before maintainers can modify a program, they must understand how it operates. This research established that there exist various research gaps in literature in the architecture analysis methods and of interest was that of maintainability risk assessment at the architecture level and as a result a method was proposed to address the maintainability risk assessment research gap identified. An experiment was designed to validate the developed method for maintainability risk assessment at the architecture level, from the results of the experiment it was established modules participating in design patterns are less change prone, they promote easy of change; hence classes participating in patterns should require fewer changes and that McCabe Cyclomatic Complexity measure is useful in determining the complexity of the implementation mechanism at the architecture level which is useful for the maintainability risk assessment at the architecture level. Key Words: Software Architecture, design patterns, Cyclomatic complexity metrics, Risk assessment 1.0 Introduction Garlan (2000) defines software architecture as the structure of components, and their interrelationships, and the principles and guides that control the design and evolution in time. According to (Bass, 2003) software architecture is as an abstract structural description of the software system in terms of its main components and the relationships among them. Studies on quantitative assessment of software architectures are gaining importance due to their role in assessing the quality of architecture enhancements (Sant’Anna, 2007). IEEE 1471 standard defines software architecture as the fundamental organization of a system embodied in its components, their relationships to each