Software complexity and testing effectiveness: An empirical study
Kostas Kevrekidis, Stijn Albers, P.J.M. Sonnemans, Guillaume M. Stollman
Abstract
Kostas Kevrekidis, Stijn Albers, P.J.M. Sonnemans, Guillaume M. Stollman
Abstract
This paper presents a simple method for evaluating the effectiveness of testing strategies by using the relation between software reliability and software complexity. A wide range of metrics from the literature are being tested for their suitability in measuring changes in software complexity of software code at different levels of system partitioning. Reliability data from software tests and operational data of professional systems from the field are examined for their dependency on software complexity. Does more complex software require more rigorous testing? Is current testing adequate for taking the complexity factor out of the equation or does it still remain relevant for software reliability in the field? The results of the statistical analysis show that software complexity is relevant during testing, affecting the amount of discovered errors. It does not affect software field reliability once the code has been debugged. In addition it is suggested that software complexity metrics when used to measure software changes, should be applied to low level software partitioning before integration.
OpenAlex reports 11 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
This paper presents a simple method for evaluating the effectiveness of testing strategies by using the relation between software reliability and software complexity. A wide range of metrics from the literature are being tested for their suitability in measuring changes in software complexity of software code at different levels of system partitioning. Reliability data from software tests and operational data of professional systems from the field are examined for their dependency on software complexity. Does more complex software require more rigorous testing? Is current testing adequate for taking the complexity factor out of the equation or does it still remain relevant for software reliability in the field? The results of the statistical analysis show that software complexity is relevant during testing, affecting the amount of discovered errors. It does not affect software field reliability once the code has been debugged. In addition it is suggested that software complexity metrics when used to measure software changes, should be applied to low level software partitioning before integration.
Key concepts: Software reliability testing, Software construction, Computer science, Software metric, Software sizing, Programming complexity, Regression testing, Verification and validation