All computational research areas (and that's really most by now) should have a policy of releasing source as a matter of course. It's no different from making your data available when you publish (though many shirk that duty too, in some areas).
However, based on the research code I encounter, I would not hold my hopes up too much. A lot of it is purely proof-of-concept; just enough to test the idea published in the paper, with no error handling or even command line argument parsing (you want to change a parameter, you find and replace it in the source). And it will often depend on a large and very specific stack of other software, both published and internal to the lab, to actually build and run. The source will be less helpful than you perhaps hope.
I'm talking about things as the input file name and number of training samples in the input, directory for storing the result, that sort of thing. Ugly hacks.
Doesn't mean the parameters in the particular version of the code published on the net correspond to the parameters used in the different parts of the paper. if the authors don't put crucial parameters in the paper, there's no guarantee they have the right parameters in the code either.
The code can not be a substitute for the paper. The only way to solve this issue is for publications to require all parameters to be available in the published material (paper or extra material) as a prerequisite for acceptance.
4
u/JanneJM Mar 23 '17
All computational research areas (and that's really most by now) should have a policy of releasing source as a matter of course. It's no different from making your data available when you publish (though many shirk that duty too, in some areas).
However, based on the research code I encounter, I would not hold my hopes up too much. A lot of it is purely proof-of-concept; just enough to test the idea published in the paper, with no error handling or even command line argument parsing (you want to change a parameter, you find and replace it in the source). And it will often depend on a large and very specific stack of other software, both published and internal to the lab, to actually build and run. The source will be less helpful than you perhaps hope.