Skip to main content
Kent Academic Repository

Restructuring software: A case study

Hopkins, Tim (1996) Restructuring software: A case study. Software: Practice and Experience, 26 (8). pp. 967-982. ISSN 0038-0644. (doi:10.1002/(SICI)1097-024X(199608)26:8<967::AID-SPE41>3.0.CO;2-G) (KAR id:19244)

Abstract

We use knot count and path count metrics to identify which routines in the Level 1 basic linear algebra subroutines (BLAS) might benefit from code restructuring. We then consider how logical restructuring and the improvements in the facilities available from successive versions of Fortran have allowed us to improve the complexity of the code as measured by knot count, path count and cyclomatic complexity, and the user interface of one of the identified routines which computes the Euclidean norm of a vector. With these reductions in complexity we hope that we have contributed to improvements in the maintainability and clarity of the code. Software complexity metrics and the control graph are used to quantify and provide a visual guide to the quality of the software, and the performance of two Fortran code restructuring tools is reported. Finally, we give some indication of the cost of the extra numerical robustness offered by the BLAS routine over the use of new Fortran 90 intrinsic functions.

Item Type: Article
DOI/Identification number: 10.1002/(SICI)1097-024X(199608)26:8<967::AID-SPE41>3.0.CO;2-G
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 75 Electronic computers. Computer science
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: R.F. Xu
Date Deposited: 01 Jun 2009 16:55 UTC
Last Modified: 16 Nov 2021 09:57 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/19244 (The current URI for this page, for reference purposes)

University of Kent Author Information

Hopkins, Tim.

Creator's ORCID:
CReDIT Contributor Roles:
  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.