all options
stretch  ] [  buster  ] [  bullseye  ] [  bookworm  ] [  sid  ]
[ Source: pmccabe  ]

Package: pmccabe (2.8-3)

Links for pmccabe


Debian Resources:

Download Source Package pmccabe:


External Resources:

Similar packages:

McCabe-style function complexity and line counting for C and C++

Pmccabe calculates McCabe-style cyclomatic complexity for C and C++ source code. Per-function complexity may be used for spotting likely trouble spots and for estimating testing effort.

Pmccabe also includes a non-commented line counter compatible with anac, 'decomment' which only removes comments from source code; 'codechanges', a program to calculate the amount of change which has occurred between two source trees or files; and 'vifn', to invoke 'vi' given a function name rather than a file name.

Pmccabe attempts to calculate the apparent complexity rather than the complexity following the C++ and/or cpp preprocessors. This causes Pmccabe to become confused with cpp constructs which cause unmatched curly braces - most of which can profitably be rewritten so they won't confuse prettyprinters anyway. Pmccabe prints C-compiler-style error messages when the parser gets confused so they may be browsed with standard tools.

Two types of cyclomatic complexity are generated - one type counts each switch() statement as regardless of the number of cases included and the other more traditional measure counts each case within the switch(). Pmccabe also calculates the starting line for each function, the number of lines consumed by the function, and the number of C statements within the function.

Tags: Software Development: C Development, C++ Development, Libraries, devel::testing-qa, implemented-in::c, User Interface: Command Line, Role: role::devel-lib, role::program, Scope: Utility, Works with: Source Code

Other Packages Related to pmccabe

  • depends
  • recommends
  • suggests
  • enhances

Download pmccabe

Download for all available architectures
Architecture Package Size Installed Size Files
alpha (unofficial port) 32.0 kB167.0 kB [list of files]
amd64 31.5 kB90.0 kB [list of files]
arm64 30.8 kB166.0 kB [list of files]
armel 32.4 kB165.0 kB [list of files]
armhf 31.2 kB165.0 kB [list of files]
hppa (unofficial port) 30.7 kB78.0 kB [list of files]
i386 31.0 kB89.0 kB [list of files]
ia64 (unofficial port) 37.6 kB122.0 kB [list of files]
m68k (unofficial port) 29.8 kB84.0 kB [list of files]
mips64el 31.7 kB168.0 kB [list of files]
mipsel 31.5 kB167.0 kB [list of files]
ppc64 (unofficial port) 31.9 kB166.0 kB [list of files]
ppc64el 34.1 kB166.0 kB [list of files]
riscv64 (unofficial port) 31.2 kB71.0 kB [list of files]
s390x 30.0 kB82.0 kB [list of files]
sh4 (unofficial port) 33.0 kB165.0 kB [list of files]
sparc64 (unofficial port) 29.8 kB2,087.0 kB [list of files]
x32 (unofficial port) 31.4 kB85.0 kB [list of files]