From an article by Jerry Fitzpatrick originally published in C++ Report, June 1997. http://www.softwarerenovation.com/ABCMetric.pdf
ABC is strictly a software size metric, although it has often been misconstrued as a complexity metric.
Size is computed by counting the number of assignments, branches and conditions for a section of code. The counting rules in the original C++ Report article were specifically for the C, C++ and Java languages, and defined as:
|ABC| = sqrt((A*A)+(B*B)+(C*C))The individual A, B and C counts provide distinct information about the code that the overall size value doesn't. For example, the B (branch) count is virtually identical to "cyclomatic complexity".
Due to syntax differences, the ABC counting rules for a specific language must generally be tweaked to fulfill the goals of the metric. Futhermore, the metric is probably unsuitable for non-imperative languages (e.g. Prolog).
See CyclomaticComplexityMetric, LinesOfCode, FunctionPoint