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 514403
To view parent comment, click here.
To read all comments associated with this story, please click here.
tidux
Member since:
2011-08-13

Without the source code, how do you know that's the formula they used? For all you know, their RNGs could have always returned 3.

Reply Parent Score: 1

kwan_e Member since:
2007-02-18

Without the source code, how do you know that's the formula they used? For all you know, their RNGs could have always returned 3.


Because they must publish papers describing their research and results. Then other people can reimplement parts of the paper and if the results don't match what the paper has, then you know something is wrong.

If analyzing source code can really prove or disprove scientific results, we would already have this whole software business completely automated with software that writes itself.

Reply Parent Score: 1

Alfman Member since:
2011-01-28

kwan_e,

"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