An approach using semantic metrics to provide insight into software quality early in the design phase of software development by automatically analysing natural language (NL) design specifications for object-oriented systems is presented. Semantic metrics are based on the meaning of software within the problem domain. In this paper, we extend semantic metrics to analyse design specifications. Since semantic metrics can now be calculated from early in design through software maintenance, they provide a consistent and seamless type of metric that can be collected through the entire lifecycle. We discuss our semMet system, an NL-based program comprehension tool we have expanded to calculate semantic metrics from design specifications. To validate semantic metrics from design specifications and to illustrate their seamless nature across the software lifecycle, we compare semantic metrics from different phases of the lifecycle, and we also compare them to syntactically oriented metrics calculated from the source code. Results indicate semantic metrics calculated from design specifications can give insight into the quality of the source code based on that design. Also, these results illustrate that semantic metrics provide a consistent and seamless type of metric that can be collected through the entire lifecycle.
Read full abstract