Learn More
Reliability is a key concern in the current state of software industry. Producing software without defects is still very difficult. Therefore it is crucial to benefit from high-level language mechanisms such as assertions. Nevertheless contracts are mostly a specificity of the Eiffel language. This observation convinced ISE to build a new product, the(More)
Can libraries written without explicit support for Design by Contract™ in the language or the method benefit from a posteriori addition of contracts? To help answer this question, we performed an empirical study of library classes from the .NET Collections library, which doesn't use Design by Contract, to search for unexpressed contracts. This poster(More)
Can the Singleton pattern [Gamma95] be turned into a reusable component? To help answer this question, we have reviewed existing implementations and tried to improve them. This article explains the difficulties of having a single-instance class in Eiffel and proposes language extensions, namely once creation procedures, which would be satisfactory in most(More)
The Event Library is a simple library that provides a solution to the common problems in event-driven programming. Its careful design facilitates further extensions, in order to satisfy users' advanced needs. It has been implemented in Eiffel, taking advantage of the advanced mechanisms of this language. In this paper, we present the architecture of the(More)
Goals of expressiveness and flexibility in typed object-oriented programming suggest a " covariant " type policy, where routine redefinitions can change the types of both arguments and results in the same direction as the inheritance hierarchy. Unfortunately, a careless covariant policy, when combined with polymorphism, genericity and dynamic binding —(More)