@neilernst

Reliability and maintainability related software coupling metrics in C++ programs

, and . Intl Symp. on Software Reliability Engineering, page 303--311. (1992)

Abstract

A description is given of some difficulties that one encounters in the testing and maintenance of C++ programs, which may result in program unreliability. Inheritance and polymorphism are key concepts in object-oriented programming (OOP), and are essential for achieving reusability and extendibility, but they also make programs more difficult to understand. The authors show by arguments and by some empirical evidence that widely used complexity metrics like lines of code, cyclomatic complexity, and Software Science's metrics may not be appropriate to measure the complexity of C++ programs and those written in other object-oriented languages, since they do not address concepts like inheritance and encapsulation, apart from having other weaknesses. Some measures using a notion from the world of functional decomposition-coupling, are defined for C++ programs. Two of them-CC and AMC-and equivalent ones for the three widely used complexity metrics (for comparison) are computed for five C++ programs. Preliminary results show that the coupling measures correlate better with difficulty of testing and maintenance than the three widely used complexity metrics

Description

Not previously uploaded

Links and resources

Tags

community

  • @neilernst
  • @dblp
@neilernst's tags highlighted