Lazy specification refers to a flexible approach to software specification, in which a specification evolves rapidly in parallel with frequently modified code. The specification is inferred by a semi-automatic analysis of a prototype software unit. This can include static analysis (of the unit's interface) and dynamic analysis (of the unit's behaviour). The dynamic analysis is usually supplemented by limited interaction with the programmer.
The term Lazy specification is coined by analogy with lazy evaluation in functional programming. The latter describes the delayed evaluation of sub-expressions, which are only evaluated on demand. The analogy is with the late stabilization of the specification, which evolves in parallel with the changing code, until this is deemed stable.
Read more about this topic: Lazy Systematic Unit Testing
Famous quotes containing the word lazy:
“So, when my days of impotence approach,
And Im by pox and wines unlucky chance
Forced from the pleasing billows of debauch
On the dull shore of lazy temperance,
My pains at least some respite shall afford
While I behold the battles you maintain
When fleets of glasses sail about the board,
From whose broadsides volleys of wit shall rain.”
—John Wilmot, 2d Earl Of Rochester (16471680)