Find a Question:
Mozilla Science Lab will help scientists improve code
Mozilla Science Lab will help scientists improve code
Mozilla has through its Science Lab software code from various scientific publications examined for quality. It uses Mozilla test procedures also efforts to check for mistakes his own code.
Scientists are increasingly using self-written software code in their investigations. This can cause a lot of problems because they often have no knowledge of the best practices for writing quality code. Not only can there be fraud occur because scientists do not add the code to their publications, also is a considerable chance that test results are incorrect due to errors in the code.
The Mozilla Science Lab, which was recently established, will help scientists to avoid these mistakes in the future so writes Nature. In exchange, Mozilla same detailed test procedures that use it for his own code, for example, that of Firefox, commitment. During the first trial, which was a collaboration with the scientific journal PLoS Computational Biology, examined Mozilla nine papers which code is published. The relevant code is written in various programming languages, including Perl and Python.
Mozilla would the results with the authors of the papers have shared. The results would have no direct impact on the relevant studies. However, the authors choose to publish the conclusions. Mozilla’s control It is expected that Mozilla soon a general report on the testing of the code will release.
It is still unclear whether scientific publications go check in the future during peer-reviewing stage itself the quality of code or not using Mozilla’s mechanisms. This would be. Additional costs incurred Nevertheless, some scientists wonder whether the additional controls that have actually less code will be published in investigations. Precisely the effect on their code
This is a good thing. Many scientific software (at least in my field) is hardly tested using. For example, unit tests. The causes of this are, among other things, that those who write software scientific often not a true programmers, and that there are common (with the publication pressure) is no time to test the software. Thoroughly In addition, software is often written for a specific investigation and then neglected. Many of the software is not even in a version control system (like github) correctly. In addition, it is often not required to make when publishing an article, which checking other people’s work more difficult. Your source code public
In short, there is much room for improvement in the scientific world when it comes to software development, but this is a welcome first step to improve among the researchers. Awareness of code qualityThe question is to what extent this is a problem. The code example that I use myself to load. Automate measurements and settings to a new chip If you have an error in your brand automatic measurements are normally very fast. In addition, you also just do some manual measurements and you notice it quickly enough if that do not match.
And in the code I use to load new settings are standard errors. You can tell because he does not, normally just bits that are being put. In the wrong place There is so much software control algorithms on if you want to throw that never find out. You’ll find out if the institution does not work as you expect him to do it.
In some fields of research will determine useful to make the source code public, but in many others it is just something that was basic functions must have that work, and that is clearly fast enough when they do not. That you have bug in your code so you can have a buffer overflow by typing in a long string is irrelevant, you can fix that by simply not tapping. That long stringExactly right. Typically, the computer code is not more than a means to interface with hardware or you you measurement data to be processed. You describe the measurements made and used processing algorithms. The scientific innovation is usually not in Matlab, Pyton or C code behind it. The limited publication space do not you go quickly to sacrifice.
Apart from that there are large differences in programming capabilities of my colleagues. If you work with someone is obviously fine if there is a clear structure in the code is, it is suitable for easy to adjust, efficient use of your PC and is provided with sufficient commentary. Also to identify any errors and debug. I fear only those who do not score as well on these qualifications not quick to use. Mozilla code checker That’s more something for people who are already interested in how the program is programmed and it probably already doing nicely.Your comment reinforces the importance of attention to proper testing 🙂
Interfacing with hardware is sometimes difficult to test (albeit with an abstraction layer often still do), but rather measurement data processing sounds like something trivial to unit testing. Without (unit) tests demonstrating that the data are processed properly seems to me to be. Everything from code that is viewed with suspicion
(Unit) writing tests is something that can be done by someone else fine this come along often implicit assumptions to light.
Do not test == you find it not important whether your code does what you thought.
I do not think that was your message? The most dangerous code that is causing the most damage, is the code that seems to do (and the subtle error occurs).
Tests need not necessarily be 100% coverage or having to be helpful. Complicated
A document that describes how to calculate the following results are for example has been a leap forward.
The example you set, manual measurements and compare the results, is also subject to testing and is “better than average”. In your publication it takes one sentence: “with a sample, the measurements manually checked.The “document that describes how to count after the results are ‘usually get published. The implementation is often considered almost trivial portion scientifically not really relevant. Unless the innovation is in the implementation, then the source code of course very interesting. Otherwise it will be code only included as a service to the interested reader who wants to do after work.And for this to be another sentence removed if you are already on the maximum length. More importantly, the total adds nothing: It is therefore not to check for another, so whatever you shoot still use it on easier? There are a hundred ways you measurements may have gone wrong: you does not add that you have tightened (if you still have something where erroneous results can come through), you measuring equipment is calibrated, you have remeasured you supply any cable , etc. And these are all things that you must meet to receive. still good measurements
It is basically good that something is being done here. I have to use a lot of their own research
made of self-written software to do calculations and
going too fast wrong. That was in the time that unit tests were not yet invented,
but a good researcher had really realize that you had to test properly. So that will
now still happen, but the system is often lacking though. To this end, this is a
help. Our method, there arose among other things, that at least two people to
worked the same problem, independent software written (and in different
languages, and do not make use of the same libraries). If you then opens the same results you’re at least in the right direction.
In scientific research, it is that you work for another reproducible, ie
you makes you all (noodzakelijke!) steps to get into the results
the publication mentions, but basically no more. Other
researchers then repeat your work in their own lab. They get similar
results, then again that supported the initial conclusions. I believe
that publishing own written software, taking should not be necessary.
A competent colleagues can also write software. That’s even better than
use published code, because the errors it also reused.
Do you use someone else’s software (eg numerical libraries),
then it is of course to mention what you used case.
Many people think that everything published is also immediately is the truth.
Fraud aside, that’s not necessarily the case. The reflected
the results of research. Only when results more reproducible
and can be found in the existing knowledge, a good place ie, there is consensus
arises, you can speak of a ‘new truth’. A wrong answer
due to a bug in software changed nothing in that process.
Nevertheless, some scientists wonder whether the additional controls that have actually less code will be published in investigations. Precisely the effect on their code
That seems to me to be a serious problem. The source article is this:
But researchers say That having software reviewers looking over shoulder Their might backfire. “One worry I have is that, with reviews like this, scientists will be even more discouraged from publishing Their code,” says Roger Peng biostatistician at the Johns Hopkins Bloomberg School of Public Health in Baltimore, Maryland. “We need to get more code out there, not improvesleep how it looks.”
Rightly among the source article by someone suggested that this can be overcome by scientists the possibility to publish as an Open Source project, obviously with an appropriate license (GPL, CeCILL, …) their code.
Answer this Question
You must be Logged In to post an Answer.
Not a member yet? Sign Up Now »
Star Points Scale
Earn points for Asking and Answering Questions!