2000Technology of Object-Oriented Languages and SystemsRequires access

But Who Will Guard the Guardians

Dave Maley, Ivor Spence

Open publisher page 0 citations

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.

About this research paper

What this paper is about

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.

Why it matters

A significance statement is not available in the OpenAlex record.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available 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.

Key concepts: Eiffel, Design by contract, Programming language, Computer science, Guard (computer science), Correctness, Software engineering, Software

Related papers

Back to paper searchBrowse research topicsOriginal source
But Who Will Guard the Guardians — Research Paper | ScholarLens