Boost logo

Boost :

From: E. Gladyshev (egladysh_at_[hidden])
Date: 2003-10-30 02:53:28

--- Brian McNamara <lorgon_at_[hidden]> wrote:
> I'm pretty sure that sometime a few years ago I read a research paper
> or two in software engineering that tried to offer a formal model for
> all of this (I think in the context of Java, and trying to come up with
> a unit testing methodology). But of course I can't track down any of
> the references now. Rats.

I tried google but of course all get is
"On Basic Guarantees of Electoral Rights and the Right of Citizens"
kind of stuff. :) I'll keep on looking.

> At the end of the day, in the general case I think it just comes down to
> "it's hard to build correct software, especially in the presence of
> effects".

So the question is are basic/strong guarantees of any help
in this hard job... and if so then how?

> (If you're really concerned about this in practice, the "paranoia"
> method, while potentially overly restrictive, may help. Just turn your
> invariant into a const method returning a bool, and then assert() it at
> the start and finish of every method in the interface. Yuck.)

It is hard to use assert() during the s/w design stage. :)
I guess this guarantees thing is supposed to influence
how you design your software not just some run-time checks.

For example if you know that that a type X gives
basic guarantees, how would you *typically* use this
knowledge when designing the rest of the program!?


Do you Yahoo!?
Exclusive Video Premiere - Britney Spears

Boost list run by bdawes at, gregod at, cpdaniel at, john at