Jump to content

Talk:ABC Software Metric

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

I need to amend my previous statement about the edits made by 108.160.195.141. For some reason, I was temporarily confused about the B and C components of the ABC metric. The Wikipedia reviewer (108.160.195.141) was correct about the B (branch) count. The C component, not the B component, relates directly to the number of conditions in source code. Therefore, the C component, not the B component, is related to cyclomatic complexity.Megabeing (talk) 18:16, 27 January 2018 (UTC)[reply]

The edits made by 108.160.195.141 on 21 Nov 2017 are inaccurate. The citation removed [1] states "People sometimes think that the ABC metric measures complexity, not size". This clearly means that "some [people] believe" that the ABC metric measures complexity. This position is easily verified by an Internet search of others' description of the metric.

The Wikipedia reviewer also claims that the ABC branch count bears no relationship to the cyclomatic complexity count. My understanding is that cyclomatic complexity is defined as the number of linearly independent paths within source code. By any analysis, the paths through source code is based on the number of branching statements, which is what the B component of the ABC metric measures. The Wikipedia article about cyclomatic complexity even says "McCabe showed that the cyclomatic complexity of any structured program with only one entrance point and one exit point is equal to the number of decision points (i.e., "if" statements or conditional loops) contained in that program plus one." One can argue about what should be considered a "branch" (condition), or whether the count should be adjusted for the "machine level" equivalent, etc. Hair-splitting aside, the foundations of cyclomatic complexity and the B component of the ABC metric are the same (i.e. paths created by logical branches). Megabeing (talk) 01:35, 26 January 2018 (UTC)[reply]

The name of this topic is quite vague. A better name might be 'ABC metric' or 'ABC software metric'. This change would put ABC scores within a more meaningful context.

  1. ^ Fitzpatrick, Jerry (2017). "Appendix A". Timeless Laws of Software Development. Software Renovation Corporation. ISBN 978-0999335604.