But Who Will Guard the Guardians
Dave Maley, Ivor Spence
Abstract
Dave Maley, Ivor Spence
Abstract
Design by Contract is widely accepted as a valuable software design methodology for improving software quality. Its incorporation into the Eiffel language has been largely responsible for this. However, the Eiffel language restricts the expressivity of what may be verified in the contract primarily to propositional logic. When the contract is non-trivial, if we wish to retain contract checking then we must write our own validation routines. How can we be sure that the code that checks the correctness is itself correct? Juvenal first posed the question in the first century A.D. ?Sed quis custodiet ipsos custodes?? The level of genericity now possible in C++ at last offers a possible step forward.
A significance statement is not available in the OpenAlex record.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Design by Contract is widely accepted as a valuable software design methodology for improving software quality. Its incorporation into the Eiffel language has been largely responsible for this. However, the Eiffel language restricts the expressivity of what may be verified in the contract primarily to propositional logic. When the contract is non-trivial, if we wish to retain contract checking then we must write our own validation routines. How can we be sure that the code that checks the correctness is itself correct? Juvenal first posed the question in the first century A.D. ?Sed quis custodiet ipsos custodes?? The level of genericity now possible in C++ at last offers a possible step forward.
Key concepts: Eiffel, Design by contract, Programming language, Computer science, Guard (computer science), Correctness, Software engineering, Software