The Number of Operations (NOO) grew significantly in the AO version due to
the modularization of DbC with new mechanisms such as advice. As a result, we
had 25.49% more method-like definitions in the AO version. In the HW system, the
di®erence of the number of LOC was only 1.06% in favor to AO solution. Hence,
even with significant reuse of design by contract code (illustrated by the specific DbC
size metrics NOPre, NOPos, and NOI), the aspect code used for realizing the DbC
concern requires a lot of extra idioms which led to extra e®ort during implementation.
This finding, contradicts the Lipert and Lopes study, on which they had a
reduction of more than 50% in DbC LOC due to reuse. While HW system has
homogeneous contracts that can be significantly reused, some heterogenous contracts
can be harmful to the final LOC due to the poor reuse and the extra aspect
code needed to "aspectize" the design by contract concern.