Advanced Search
CS Search Google Search
Subscribers, please login

Published Articles >> Table of Contents >> Abstract

Publication Home Page
November 2003 (Vol. 36, No. 11)   pp. 48-55
Uncovering Hidden Contracts: The .NET Example

Full Article Text: View linked HTML of full textDownload PDF of full textBuy this articleGet full text from IEEE Xplore

DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MC.2003.1244535
Send link to a friend

Abstract
Software contracts take the form of routine preconditions, postconditions, and class invariants written into the program itself. The design by contract methodology uses such contracts for building each software element, an approach that is particularly appropriate for developing safety-critical software and reusable libraries. This methodology is a key design element of some existing libraries, especially the Eiffel software development environment, which incorporates contract mechanisms in the programming language itself. Because the authors see the contract metaphor as inherent to quality software development, they undertook the work reported here as a sanity check to determinewhether they see contracts everywhere simply because their development environment makes using them natural or whether contracts are intrinsically present, even when other designers don't express or even perceive them.
References
[1] B. Meyer,“Applying design by contract,”IEEE Comput., vol. 25, pp. 40–51, Oct. 1992.
[2] B. Meyer, Object-Oriented Software Construction, 2nd ed., Prentice Hall, Upper Saddle River, N.J., 1997.
[3] R. Mitchell and J. McKim, Design by Contract, by Example, Addison-Wesley, 2002.
[4] J.M. Jezequel and B. Meyer, "Design by Contract: The Lessons of Ariane," Computer, Jan. 1997, pp. 129-130.
[5] Microsoft, ".NET Systems.Collections Library," 2003; http://msdn.microsoft.com/library/default.asp?url=/ library/en-us/cpref/htmlfrlrfsystemcollections.asp .
[6] C.A.R. Hoare, "Proof of Correctness of Data Representations," Acta Informatica, vol. 1, 1973, pp. 271-281.
[7] K. Arnout and R. Simon, "The .NET Contract Wizard: Adding Design by Contract to Languages Other than Eiffel," Proc. TOOLS 39, IEEE CS Press, 2001, pp. 14-23.
[8] B. Meyer, Reusable Software: The Base Object-Oriented Component Libraries, Prentice Hall, 1994.
[9] M.D. Ernst, “Dynamically Discovering Likely Program Invariants,” PhD thesis, Dept. of Computer Science and Eng., Univ. of Washington, Seattle, Wash., Aug. 2000.
[10] K. McFarlane, "Design by Contract Framework for .NET," 2002; www.codeproject.com/csharpdesignbycontract.asp ; www.codeproject.com/csharp/designbycontract.aspwww.codeguru.com/ net_generaldesignbycontract.html .
Additional Information

Citation:  Karine Arnout, Bertrand Meyer, "Uncovering Hidden Contracts: The .NET Example," Computer, vol. 36,  no. 11,  pp. 48-55,  Nov.,  2003

RSS Feed

Similar Articles

Abstract Contents
Abstract
References
Citation




Free access to

  • Abstracts
  • Selected PDFs

Electronic subscribers login to:

  • Access HTML/PDFs of full text articles

Subscription information

Get a Web account

PDFs require Adobe Acrobat Reader.

Peer Review Notice

Give us Feedback