Declarative specifications are preferable for which of the following reasons?
(a) Declarative specifications are more abstract because they ignore implementation details, and consequently they are more concise than procedural specifications
(b) Declarative specifications focus on an operation’s interface, making it clearer how an operation interacts with its callers
(c) Procedural specifications may bias programmers toward the implementation used in the specification
(d) All of the mentioned
This question was addressed to me by my college director while I was bunking the class.
This intriguing question comes from Operation Specification topic in section Visibility, Accessibility and Information Hiding of Software Architecture