Lightning talk: Supporting software sustainability with lightweight specifications

Authors
Contrastin, M 
Orchard, D 

Change log
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.

Publication Date
2016-09-14
Online Publication Date
Acceptance Date
2016-08-01
Keywords
Journal Title
CEUR Workshop Proceedings
Journal ISSN
1613-0073
Volume Title
1686
Publisher
CEUR Workshop Proceedings
Sponsorship
Engineering and Physical Sciences Research Council (Grant ID: EP/M026124/1)
Relationships
Is supplemented by: