Linked by Thom Holwerda on Mon 16th Apr 2012 02:08 UTC
In the News "Modern science relies upon researchers sharing their work so that their peers can check and verify success or failure. But most scientists still don't share one crucial piece of information - the source codes of the computer programs driving much of today's scientific progress." Pretty crazy this isn't the norm yet.
Thread beginning with comment 514426
To view parent comment, click here.
To read all comments associated with this story, please click here.
Member since:


"If analyzing source code can really prove or disprove scientific results,"

Why should we assume that it cannot? If we have an accurate mathematical model of a scientific process, then software can reveal insight and even proofs for scientific processes that wouldn't otherwise be conceived. However in order for an implementation's results to be valid, the authors source code ought to be peer reviewed.

It's true that one might get away with publishing pseudo code or even logic charts instead of real code. But if the goal is to reduce errors and encourage 3rd parties to validate the work, the inclusion of real code is nice.

"we would already have this whole software business completely automated with software that writes itself."

At an abstract level, I'd argue that's what a compiler does already: it takes a specification written in one language and builds binary software implementing that specification. I guess you might have been thinking compiling software from an English spec, but there are at least two obstacles with that.

1 - English is ambiguous and it takes a lot of words to exactly describe a process that computer languages can nail down exactly. A thought experiment would be to stick 10 qualified programmers in 10 black boxes, give them an english spec, and see how different their work is. Now if we give those same programmers specs written in one computer language, and force them to translate them into another computer language, with any luck they'd still end up with functionally identical work because computer languages are so concise. (We should play the "telephone game" with computer languages!)

2 - English speakers have shared knowledge due to shared human experiences and contextual knowledge. This enables them to gloss over a great deal of information that would otherwise lead to holes in an english spec.

Sorry my response has gone way off topic, but the point is the lack of english language compilers is no reason to negate the scientific merit of computer source code proofs.

Reply Parent Score: 2

lucas_maximus Member since:

Do you know what sort of effort it required to prove that a computer program is mathematically correct?

We are going into the Vienna Developer Method territory. Which is totally irrelevant anyway.

The whole point is that the information in the paper should be sufficient to reproduce the results, ... you are putting the cart before the horse.

If formulae and relevant parts of the algorithm are described (pseudo-code is pretty good IMHO, and I write my proper code first as pseudo code) is more than sufficient.

Reply Parent Score: 2