Skip to main content

Supporting Software Sustainability with Lightweight Specifications

Contrastin, Mistral, Danish, Matthew, Rice, Andrew C., Orchard, Dominic A. (2016) Supporting Software Sustainability with Lightweight Specifications. In: CEUR Workshop Proceedings. Proceedings of the Fourth Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE4). 1686.

PDF - Publisher pdf

Creative Commons Licence
This work is licensed under a Creative Commons Attribution 4.0 International License.
Download (107kB) Preview


Lightweight specifications support software maintainability by providing a way to verify that any changes to a code base preserve certain program properties. We give two examples of lightweight specifications for numerical code: units-of-measure types which specify the physical units of numerical quantities in a program; and stencil specifications which describe the pattern of data access used in array computations. Not only can we automatically verify that a program correctly implements these requirements but specifications provide documentation for future developers. Specifications can also be inferred and generated automatically in some cases, further reducing programmer effort. We finish by identifying future potential specification techniques to ease the maintenance and comprehension of scientific code.

Item Type: Conference or workshop item (Lecture)
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Faculties > Sciences > School of Computing
Depositing User: Dominic Orchard
Date Deposited: 03 May 2018 14:43 UTC
Last Modified: 29 May 2019 20:30 UTC
Resource URI: (The current URI for this page, for reference purposes)
Orchard, Dominic A.:
  • Depositors only (login required):


Downloads per month over past year