James Watson
Posts: 2024
Nickname: watson
Registered: Sep, 2005
|
|
Re: word games
|
Posted: Jul 31, 2007 4:12 PM
|
|
> James Watson wrote > > > > There's no mention of requirements, let alone > > > "meets all requirements". > > > > It doesn't say anything about specifications either. > You > > proposed that specification was the criteria to judge > > whether something is correct. I was merely pointing > out > > that there is a common understanding of the > relationship > > between requirements and specification. I merely did > this > > because of your bizarre argument that requirements are > not > > related to correctness. I generally wouldn't need to > > point out such trivial facts in a sane and rational > > discussion. > > 1) No, you were not "merely pointing out that there is a > common understanding of the relationship between > requirements and specification". You made a statement > about "correct" and "correctness" [Jul 30, 2007 8:43 AM], > quibbled about the need to define those terms [Jul 30, > 2007 9:28 AM], and claimed the unwritten definition in > your head was the same definition used by the vast > majority of English speakers [Jul 30, 2007 2:03 PM].
My statement pointing out that requirements and specifications were related came after your assertion that correctness is defined by specifications. Look for yourself.
http://www.artima.com/forums/flat.jsp?forum=106&thread=209353&start=304&msRange=1
I still stand by my assertion that most English speaking people have a common understanding of what 'correct' means. It may not be precise but I never said it was. You are the only one quibbling about the definitions of words. No one else has stated any need to clarify what 'correct' means.
I then stated that correctness is commonly understood to mean that a program meets it's requirements with respect to software.
> You claimed "I am talking about 'correct' in the way it's > defined by the vast majority of English speakers" [Jul 30, > 2007 2:03 PM] but so far you have not provided a single > example of 'the commonly understood "meets all > requirements"' [Jul 30, 2007 12:50 PM].
Why should I have to? It's the only possible sensible definition with regard to this discussion. 'Passes all tests' is clearly untenable. That would mean a correct program could be become incorrect without changing anything about it. The other definition you have propose is compatible with 'meets all requirements'.
Do you believe that a program that does not meet its requirements can be correct?
Do you believe that a program that meets all of its requirements (stated or unstated) can be incorrect?
> All of that was before you mentioned "the relationship > between requirements and specification" for the first time > [Jul 30, 2007 3:00 PM]. > > 2) Now you falsely claim that I have made a "bizarre > argument that requirements are not related to > correctness". Where exactly am I supposed to have made > that argument?
http://www.artima.com/forums/flat.jsp?forum=106&thread=209353&start=304&msRange=1
'Programs are verified "correct" against a specification - in contrast, the only way we can validate the program "meets all requirements" is to ask someone "is this what you wanted?".'
Do you need to redefine the term 'contrast' now? If you aren't arguing that correctness is not related to requirements, then what exactly are you arguing? It seemed that you were arguing that correctness was related to tests.
> -snip- > > You are the one trying to redefine words in order to > prove > > your argument. Trying to make up a new definition for > the > > word 'correct' is an absurd word game. > > I am indeed the one who understood that words mean > different things to different people, and so made clear to > Cedric how I understood what he had written [Jul 26, 2007 > 2:51 PM].
That's great. But I was not responding to you when I made my statement about correctness.
> You seem to be insisting that the definitions in your head > don't need to be stated because somehow they are the > real definitions, and any other meanings are > redefinitions or new definitions.
You are using a lot of words that haven't been defined in this thread. You could mean anything! How can I possibly reply? First, you need to define the word 'definition' and 'meaning'.
> It's commonplace for someone to have no doubt and yet > still be wrong.
Is that supposed to stand-in for an actual argument? Do you think that I don't know this? You can't actually think that proves me wrong in some way, do you?
All I'm saying here is that you can't convince me that the term 'requirements' is not commonly understood to be the basis of determining a programs correctness so don't waste your time trying.
> > The concept that passing all tests makes the software > > correct is patently absurd. If the program crashes are > > you seriously going to argue that it is 'correct' > because > > it passed all tests? Testing is a way of trying to > gauge > > the correctness. It doesn't define the correctness of > > software unless you requirements are specified as > passing > > a number of tests which would severely limit the kinds > of > > requirements that could be defined. > > I wrote - 'When we say "correct" I think we're saying that > the program corresponds to the spec as defined by our > tests...' [Jul 26, 2007 2:51 PM] - and you dismissed it > out of hand "The definition you attempted to apply to > 'correct' is circular." [Jul 30, 2007 11:03 AM].
I wasn't replying to you and I wasn't terribly interesting in your discussion with Cedric. It is a circular definition with regard to the statement that I was replying to.
> Apparently you like it better when you say it - "It > doesn't define the correctness of software unless > you requirements are specified as passing a number of > tests ..."
If that's all you were saying then yes that's exactly the same thing I am saying except that I don't believe any non-trivial application can be properly specified as a set of tests. It's a hypothetical idea as far as I am concerned.
The post I replied to was
http://www.artima.com/forums/flat.jsp?forum=106&thread=209353&start=270&msRange=1
"I would like to point out that proving statically that software is correct is impossible. A static type system only proves that what you typed makes some kind of sense...but what kind of sense? it's unknown unless you run the program."
If the (unstated) assumption is that 'correct' is defined to mean 'passes all tests' then it's a pointless statement equivalent to static typing is not equivalent to testing of which no one has argued to the contrary.
Personally I don't think that was the definition of 'correct' that was meant. At the very least it was not the implication that I got from the statement. And in that case, it is also true that "that for most non-trivial applications, it is not feasible to prove correctness at all" as I responded originally.
http://www.artima.com/forums/flat.jsp?forum=106&thread=209353&start=274&msRange=1
It was only after that that you stated quibbling over what 'correct' means. I see no statement from Achilleas Margaritis (the person I was responding to) stating or confirming that he was using your definition of 'correct'. I definitely see no such statement between when you proposed it and when I responded to him.
|
|