Specifications are (preferably) executable

Norbert E. Fuchs
1992 Software Engineering Journal  
The validation of software specifications with respect to explicit and implicit user requirements is extremely difficult. To ease the validation task and to give users immediate feedback of the behavior of the future software it was suggested to make specifications executable. However, Hayes and Jones [Hayes, Jones 89] argue that executable specifications should be avoided because executability can restrict the expressiveness of specification languages, and can adversely affect implementations.
more » ... In this paper I will argue for executable specifications by showing that non-executable formal specifications can be made executable on almost the same level of abstraction and without essentially changing their structure. No new algorithms have to be introduced to get executability. In many cases the combination of property-orientation and search results in specifications based on the generate-and-test approach. Furthermore, I will demonstrate that declarative specification languages allow to combine high expressiveness and executability.
doi:10.1049/sej.1992.0033 fatcat:iexl6trqj5eftgejmaah44syce