Supporting Software Sustainability with Lightweight Specifications
暂无分享,去创建一个
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.