Generalizing cyclomatic complexity via path homology

03/02/2020
by   Steve Huntsman, et al.
0

Cyclomatic complexity is an incompletely specified but mathematically principled software metric that can be usefully applied to both source and binary code. We consider the application of path homology as a more powerful analogue of cyclomatic complexity. There exist control flow graphs realizable at the assembly level with nontrivial path homology in arbitrary dimension. We exhibit several classes of examples in this vein while also experimentally demonstrating that path homology gives identicial results to cyclomatic complexity for at least one detailed notion of structured control flow. Thus path homology generalizes cyclomatic complexity, and has the potential to substantially improve upon it.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset