Publication | Closed Access
Software Structure Metrics Based on Information Flow
785
Citations
22
References
1981
Year
Software MaintenanceEngineeringSoftware SystemsSoftware EngineeringSystem MetricArchitecture SpecificationSoftware AnalysisFormal VerificationSoftware ArchitectureSoftware Structure MetricsSystems EngineeringSource CodeSoftware MeasurementDesignComputer ScienceInformation ManagementSoftware DesignStructured Design MethodologiesArchitecture AnalysisProgram AnalysisSoftware TestingSpecific MetricsSoftware MetricFormal MethodsSystem Software
Structured design methodologies guide software construction but lack quantitative metrics, leaving designers to rely on vague qualitative principles. This study defines and validates software metrics for evaluating the structure of large‑scale systems. The metrics, based on measuring information flow between components, include procedure complexity, module complexity, and module coupling. Validation on the UNIX source code shows the complexity measures strongly correlate with change occurrence and can reveal structural flaws in design and implementation.
Structured design methodologies provide a disciplined and organized guide to the construction of software systems. However, while the methodology structures and documents the points at which design decisions are made, it does not provide a specific, quantitative basis for making these decisions. Typically, the designers' only guidelines are qualitative, perhaps even vague, principles such as "functionality," "data transparency," or "clarity." This paper, like several recent publications, defines and validates a set of software metrics which are appropriate for evaluating the structure of large-scale systems. These metrics are based on the measurement of information flow between system components. Specific metrics are defined for procedure complexity, module complexity, and module coupling. The validation, using the source code for the UNIX operating system, shows that the complexity measures are strongly correlated with the occurrence of changes. Further, the metrics for procedures and modules can be interpreted to reveal various types of structural flaws in the design and implementation.
| Year | Citations | |
|---|---|---|
Page 1
Page 1