An Empirical Investigation of Correlation between Code Complexity and Bugs
This incremental study provides insights for researchers building bug prediction models and test generation in software engineering.
The paper investigated the correlation between path complexity and bugs in code, finding that for simple bugs there is no strong correlation, but for complex real-world bugs, path complexity shows a higher correlation than cyclomatic and NPATH complexity, though still not strong.
There have been many studies conducted on predicting bugs. These studies show that code complexity, such as cyclomatic complexity, correlates with the presence of bugs in code. In this paper, we intend to find the correlation between path complexity and bugs. We found that 1) For simple bugs, there is no strong correlation between the path complexity and the presence of bugs; 2) For complex real-world bugs, though not strong, path complexity has a higher correlation with the presence of bugs than cyclomatic complexity and NPATH complexity. These results are useful for researchers to use the path complexity for building bug prediction models. Moreover, path complexity can be used as a guiding mechanism for test generation.