Title :
A tool for writing and debugging algebraic specifications
Author :
Henkel, Johannes ; Diwan, Amer
Author_Institution :
Univ. of Colorado, USA
Abstract :
Despite their benefits, programmers rarely use formal specifications, because they are difficult to write and they require an up front investment in time. To address these issues, we present a tool that helps programmers write and debug algebraic specifications. Given an algebraic specification, our tool instantiates a prototype that can be used just like any regular Java class. The tool can also modify an existing application to use the prototype generated by the interpreter instead of a hand-coded implementation. The tool improves the usability of algebraic specifications in the following ways: (i) A programmer can run an algebraic specification to study its behavior. The tool reports in which way a specification is incomplete for a client application. (ii) The tool can check whether a specification and a hand-coded implementation behave the same for a particular run of a client application. (iii) A prototype can be used when a hand-coded implementation is not yet available. Two case studies demonstrate how to use the tool.
Keywords :
Java; algebraic specification; program debugging; software tools; Java class; algebraic specification debugging tool; algebraic specification writing tool; formal specifications; software tool; Containers; Debugging; Documentation; Formal specifications; Java; Programming profession; Prototypes; Software engineering; Testing; Writing;
Conference_Titel :
Software Engineering, 2004. ICSE 2004. Proceedings. 26th International Conference on
Print_ISBN :
0-7695-2163-0
DOI :
10.1109/ICSE.2004.1317467