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

page 1

page 2

page 3

page 4

research
12/03/2019

An Empirical Investigation of Correlation between Code Complexity and Bugs

There have been many studies conducted on predicting bugs. These studies...
research
03/01/2020

The cross cyclomatic complexity: a bi-dimensional measure for program complexity on graphs

Reduce and control complexity is an essential practice in software desig...
research
12/31/2022

Isometric path complexity of graphs

We introduce and study a new graph parameter, called the isometric path ...
research
07/26/2023

Generalizing Weighted Path Orders

We show that weighted path orders are special instances of a variant of ...
research
06/27/2023

Automated Static Warning Identification via Path-based Semantic Representation

Despite their ability to aid developers in detecting potential defects e...
research
03/07/2022

IOLLVM: enhance version of OLLVM

Code obfuscation increases the difficulty of understanding programs, imp...
research
02/16/2022

Locally EFX Allocations Over a Graph

The fairness notion of envy-free up to any good (EFX) has recently gaine...

Please sign up or login with your details

Forgot password? Click here to reset