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 2320–088X
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