Crosscutting concerns degrade software quality. Before we can modularize the crosscutting concerns in our programs to increase software quality, we must first be able to find them. Unfortunately, accurately locating the code related to a concern is difficult, and without proper metrics, determining how much the concern is crosscutting is impossible. We propose a systematic methodology for identifying which code is related to which concern, and a suite of metrics for quantifying the amount of crosscutting code. Our concern identification and assignment guidelines resolve some of the ambiguity issues encountered by other researchers. We applied this approach to systematically identify all the requirement concerns in a 13,531 line program. We found that 95% of the concerns were crosscutting-indicating a significant potential for improving modularity-and that our metrics were better able to determine which concerns would benefit the most from reengineering.
As a consequence, we adopted a suite of metrics for quantifying degree of scattering and degree of focus REF .
Identifying, Assigning, and Quantifying Crosscutting Concerns
ACoM '07
Computer Science Business