Repository logo
 

Lightning talk: Supporting software sustainability with lightweight specifications

Published version
Peer-reviewed

Change log

Authors

Contrastin, M 
Orchard, D 

Abstract

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.

Description

Keywords

Journal Title

CEUR Workshop Proceedings

Conference Name

Journal ISSN

1613-0073

Volume Title

1686

Publisher

CEUR Workshop Proceedings

Publisher DOI

Publisher URL

Sponsorship
Engineering and Physical Sciences Research Council (Grant ID: EP/M026124/1)
Relationships
Is supplemented by: