kirancodes.me
To Proof Maintenance & Beyond!

Automatically computing path complexity of programs

Lucas Bang, Abdulbaki Aydin, Tevfik Bultan

Abstract

Recent automated software testing techniques concentrate on achieving path coverage. We present a complexity measure that provides an upper bound for the number of paths in a program, and hence, can be used for assessing the difficulty of achieving path coverage for a given method. We define the path complexity of a program as a function that takes a depth bound as input and returns the number of paths in the control flow graph that are within that bound. We show how to automatically compute the path complexity function in closed form, and the asymptotic path complexity which identifies the dominant term in the path complexity function. Our results demonstrate that path complexity can be computed efficiently, and it is a better complexity measure for path coverage compared to cyclomatic complexity and NPATH complexity.

BibTeX
@inproceedings{Bang-al:FSE15,
  author    = {Lucas Bang and
               Abdulbaki Aydin and
               Tevfik Bultan},
  title     = {Automatically computing path complexity of programs},
  booktitle = {{ESEC/SIGSOFT} {FSE}},
  pages     = {61--72},
  publisher = {{ACM}},
  year      = {2015},
}

Related papers