Improving Scientific Research: CERN and Coverity® Static Analysis

Hi, I’m Axel Naumann from Cern. Cern is a
physics Laboratory. It’s one which does basic physics research. We are just curious over
here. We are trying to understand nature even better than we do already and we do that by
means of a particle accelerator. Now the problem that people face over here, and with people
I mean those building the detector, people who write the software and the physicist doing
the analysis. The problem that they face over here is precision. The way that we improve
precision by having lots of data because if things happen more often, then we can be more
certain that they actually did happen and that is why we have these four terabytes of
data that we take every year, just to be sure we see the rare things often enough. Now of
course, software and analysis and also the detector have inefficiencies so that we miss
some of the spectacular things we are looking for. By improving the software, we can thus
accelerate the results. We have means to measure the quality of the software, but of course
we don’t want our software to not be sensitive to a certain particle. Say there comes a HIGGS,
if our software would crash every time there was a HIGGS in the data, then we would never
find it. So, even though we can measure the quality, we still want to make sure that it
is as bug free as possible. At CERN, we have a software base of approximately 50 million
lines of code. That is mostly experiment software. One part that is shared by all the experiments
because it is a tool to them is the root project software. That’s about 2.5 million lines of
code. We ran Coverity originally only on the root project as a test case basically because
even 2.5 million lines of code that is a lot of lines of code. When we were seeing the
results and the quality and the relevance of the reports, we then went over to the experiments
and offered it to them. Now, despite of all of the comply list we use, which really did
a great job in finding problems with our code, there were a few cases, very interesting ones
also, that really only Coverity finally discovered. Unbelievable that we with all of our machinery
did not manage to find it before. So we looked at a few tools and some of them even had websites
for their reports of the static analysis. The nice thing about Coverity is that the
reports it has are very easy to understand. Of course, that also helps in adoption because
if you have relevant reports and that are easy to understand then you can convince people
to go fix the code. So, for us Coverity really improved the quality of our software, both
for the tools, like root, and for the experiment software. I really hope that we finally manage
to find the HIGGS, maybe this year, maybe next year and I hope of course that we get
a high quality precise measurement here at CERN. And I would say, once we find it, if
we find it, that Coverity has its share in that result.

One Comment

  1. james olsen said:

    Keep up the work guys. Science is exciting.

    March 23, 2012

Leave a Reply

Your email address will not be published. Required fields are marked *