Difference: RunningCoverity (10 vs. 11)

Revision 112016-02-29 - AndreaValassi

Line: 1 to 1
 
META TOPICPARENT name="LHCbComputing"
This twiki page describes the setup used as of 2016 to scan the LHCb software using the Coverity static code analyzer. See also JIRA issue LBCORE-470.
Line: 83 to 83
  The LHCb component map defines several components, listed below.
  • One component for each of the twelve LHCb software projects: GAUDI, LHCB, LBCOM, REC, BOOLE, PHYS, HLT, ANALYSIS, STRIPPING, DAVINCI, GEANT4, GAUSS.
Changed:
<
<
  • Several components for defects coming from external software, "external (<pkg>)" where <pkg> is one of Boost, clhep, fastjet, gcc, HepMC, MCGenerators, Python, ROOT, system, tbb.
>
>
  • Several components for defects coming from external software, "external (<pkg>)" where <pkg> is one of Boost, clhep, fastjet, gcc, HepMC, MCGenerators, Python, ROOT, system, tbb.
 
  • A default component, Other, for defects coming from a not-yet-identified source. Currently no defects are assigned to the Other component.

The LHCb component map also defines several file rules, allowing the automatic categorization of a defect by component, depending on the name of the file where that defect was found.

Line: 146 to 146
 lbn-get-configs lbn-checkout lhcb-gaudi-head touch logs/log-build-started
Changed:
<
<
for project in Gaudi LHCb Lbcom Rec Boole Phys Hlt Analysis Stripping DaVinci Ge ant4 Gauss ; do ../scripts/build.sh $project; done
>
>
for project in Gaudi LHCb Lbcom Rec Boole Phys Hlt Analysis Stripping DaVinci Geant4 Gauss ; do ../scripts/build.sh $project; done
 touch logs/log-analyze-started
Changed:
<
<
for project in Gaudi LHCb Lbcom Rec Boole Phys Hlt Analysis Stripping DaVinci Ge ant4 Gauss ; do ../scripts/analyze.sh $project; done
>
>
for project in Gaudi LHCb Lbcom Rec Boole Phys Hlt Analysis Stripping DaVinci Geant4 Gauss ; do ../scripts/analyze.sh $project; done
 touch logs/log-commit-started
Changed:
<
<
for project in Gaudi LHCb Lbcom Rec Boole Phys Hlt Analysis Stripping DaVinci Ge ant4 Gauss; do ../scripts/commit.sh $project; done
>
>
for project in Gaudi LHCb Lbcom Rec Boole Phys Hlt Analysis Stripping DaVinci Geant4 Gauss; do ../scripts/commit.sh $project; done
 touch logs/log-all-done echo "Full Coverity scan started at "$date echo "Full Coverity scan ended at "`date`
Changed:
<
<
arch=../archive/`date +%Y""%m%d_%Hh%M`
>
>
arch=../archive/`date +%Y""%m""%d""_%H""h%""M`
 mkdir -p $arch/scripts \cp -dpr logs/* $arch/ \cp -dpr ../scripts/*sh $arch/scripts/ \mv $arch/scripts/setup_dummy.sh $arch/scripts/setup.sh %ENDCODE%
Changed:
<
<
<!-- I omitted the "arch=../archive/`date +DONEm%d_%Hh%M`" section, also because DONE was expanded to an unwanted result -->
>
>
<!-- I added a few "" within the actual bash script to avoid problems in the twiki, eg expanding symbols like DONE -->
 
Changed:
<
<
For reference, the first full scan performed using this script took approximately 6h40m (approximately 20m for checkouts, 3h20m for builds, 1h40m for analysis, 1h20m for commits).
>
>
For reference, the first full scan performed using this script took approximately 10h50m (approximately 20m for checkouts, 4h40m for builds, 2h00m for analysis, 3h50m for commits).
 
Changed:
<
<
Full Coverity scan started at Wed Feb 17 20:11:26 CET 2016 Full Coverity scan ended at Thu Feb 18 02:48:35 CET 2016
>
>
Full Coverity scan started at Sun Feb 28 19:15:57 CET 2016 Full Coverity scan ended at Mon Feb 29 06:03:09 CET 2016
 
Changed:
<
<
-rw-r--r--. 1 avalassi zg 0 Feb 17 20:26 log-Gaudi-build-started -rw-r--r--. 1 avalassi zg 545 Feb 17 20:47 log-Gaudi-build.txt -rw-r--r--. 1 avalassi zg 545 Feb 17 21:26 log-LHCb-build.txt -rw-r--r--. 1 avalassi zg 545 Feb 17 21:36 log-Lbcom-build.txt -rw-r--r--. 1 avalassi zg 667 Feb 17 22:16 log-Rec-build.txt -rw-r--r--. 1 avalassi zg 545 Feb 17 22:21 log-Boole-build.txt -rw-r--r--. 1 avalassi zg 542 Feb 17 22:57 log-Phys-build.txt -rw-r--r--. 1 avalassi zg 538 Feb 17 23:08 log-Hlt-build.txt -rw-r--r--. 1 avalassi zg 556 Feb 17 23:33 log-Analysis-build.txt -rw-r--r--. 1 avalassi zg 555 Feb 17 23:42 log-Stripping-build.txt -rw-r--r--. 1 avalassi zg 610 Feb 17 23:49 log-DaVinci-build.txt -rw-r--r--. 1 avalassi zg 4877 Feb 18 00:11 log-Gaudi-analyze.txt -rw-r--r--. 1 avalassi zg 5272 Feb 18 00:42 log-LHCb-analyze.txt -rw-r--r--. 1 avalassi zg 3288 Feb 18 00:45 log-Lbcom-analyze.txt -rw-r--r--. 1 avalassi zg 4275 Feb 18 01:02 log-Rec-analyze.txt -rw-r--r--. 1 avalassi zg 2896 Feb 18 01:04 log-Boole-analyze.txt -rw-r--r--. 1 avalassi zg 4252 Feb 18 01:16 log-Phys-analyze.txt -rw-r--r--. 1 avalassi zg 3276 Feb 18 01:19 log-Hlt-analyze.txt -rw-r--r--. 1 avalassi zg 3646 Feb 18 01:25 log-Analysis-analyze.txt -rw-r--r--. 1 avalassi zg 3168 Feb 18 01:27 log-Stripping-analyze.txt -rw-r--r--. 1 avalassi zg 2881 Feb 18 01:29 log-DaVinci-analyze.txt -rw-r--r--. 1 avalassi zg 2560 Feb 18 01:49 log-Gaudi-commit.txt -rw-r--r--. 1 avalassi zg 2558 Feb 18 02:17 log-LHCb-commit.txt -rw-r--r--. 1 avalassi zg 2260 Feb 18 02:24 log-Lbcom-commit.txt -rw-r--r--. 1 avalassi zg 2255 Feb 18 02:30 log-Rec-commit.txt -rw-r--r--. 1 avalassi zg 2259 Feb 18 02:31 log-Boole-commit.txt -rw-r--r--. 1 avalassi zg 2256 Feb 18 02:36 log-Phys-commit.txt -rw-r--r--. 1 avalassi zg 2253 Feb 18 02:39 log-Hlt-commit.txt -rw-r--r--. 1 avalassi zg 2268 Feb 18 02:44 log-Analysis-commit.txt -rw-r--r--. 1 avalassi zg 2101 Feb 18 02:46 log-Stripping-commit.txt -rw-r--r--. 1 avalassi zg 2095 Feb 18 02:48 log-DaVinci-commit.txt
>
>
-rw-r--r--. 1 avalassi zg 0 Feb 28 19:16 log-download-started -rw-r--r--. 1 avalassi zg 0 Feb 28 19:31 log-build-started drwxr-xr-x. 18 avalassi zg 4096 Feb 28 19:31 ../ -rw-r--r--. 1 avalassi zg 546 Feb 28 19:51 log-Gaudi-build.txt -rw-r--r--. 1 avalassi zg 546 Feb 28 20:31 log-LHCb-build.txt -rw-r--r--. 1 avalassi zg 545 Feb 28 20:40 log-Lbcom-build.txt -rw-r--r--. 1 avalassi zg 599 Feb 28 21:22 log-Rec-build.txt -rw-r--r--. 1 avalassi zg 602 Feb 28 21:27 log-Boole-build.txt -rw-r--r--. 1 avalassi zg 545 Feb 28 22:08 log-Phys-build.txt -rw-r--r--. 1 avalassi zg 541 Feb 28 22:25 log-Hlt-build.txt -rw-r--r--. 1 avalassi zg 557 Feb 28 22:50 log-Analysis-build.txt -rw-r--r--. 1 avalassi zg 556 Feb 28 22:58 log-Stripping-build.txt -rw-r--r--. 1 avalassi zg 555 Feb 28 23:29 log-DaVinci-build.txt -rw-r--r--. 1 avalassi zg 552 Feb 28 23:55 log-Geant4-build.txt -rw-r--r--. 1 avalassi zg 606 Feb 29 00:07 log-Gauss-build.txt -rw-r--r--. 1 avalassi zg 0 Feb 29 00:07 log-analyze-started -rw-r--r--. 1 avalassi zg 4877 Feb 29 00:28 log-Gaudi-analyze.txt -rw-r--r--. 1 avalassi zg 5273 Feb 29 00:59 log-LHCb-analyze.txt -rw-r--r--. 1 avalassi zg 3288 Feb 29 01:02 log-Lbcom-analyze.txt -rw-r--r--. 1 avalassi zg 4338 Feb 29 01:19 log-Rec-analyze.txt -rw-r--r--. 1 avalassi zg 3128 Feb 29 01:21 log-Boole-analyze.txt -rw-r--r--. 1 avalassi zg 4252 Feb 29 01:32 log-Phys-analyze.txt -rw-r--r--. 1 avalassi zg 3853 Feb 29 01:39 log-Hlt-analyze.txt -rw-r--r--. 1 avalassi zg 3645 Feb 29 01:45 log-Analysis-analyze.txt -rw-r--r--. 1 avalassi zg 3167 Feb 29 01:47 log-Stripping-analyze.txt -rw-r--r--. 1 avalassi zg 2931 Feb 29 01:53 log-DaVinci-analyze.txt -rw-r--r--. 1 avalassi zg 4078 Feb 29 02:06 log-Geant4-analyze.txt -rw-r--r--. 1 avalassi zg 4337 Feb 29 02:10 log-Gauss-analyze.txt -rw-r--r--. 1 avalassi zg 0 Feb 29 02:10 log-commit-started -rw-r--r--. 1 avalassi zg 2550 Feb 29 02:30 log-Gaudi-commit.txt -rw-r--r--. 1 avalassi zg 2548 Feb 29 02:51 log-LHCb-commit.txt -rw-r--r--. 1 avalassi zg 2262 Feb 29 03:02 log-Lbcom-commit.txt -rw-r--r--. 1 avalassi zg 2258 Feb 29 03:13 log-Rec-commit.txt -rw-r--r--. 1 avalassi zg 2259 Feb 29 03:16 log-Boole-commit.txt -rw-r--r--. 1 avalassi zg 2257 Feb 29 03:22 log-Phys-commit.txt -rw-r--r--. 1 avalassi zg 2254 Feb 29 03:28 log-Hlt-commit.txt -rw-r--r--. 1 avalassi zg 2267 Feb 29 03:33 log-Analysis-commit.txt -rw-r--r--. 1 avalassi zg 2102 Feb 29 05:40 log-Stripping-commit.txt -rw-r--r--. 1 avalassi zg 2266 Feb 29 05:49 log-DaVinci-commit.txt -rw-r--r--. 1 avalassi zg 2091 Feb 29 05:56 log-Geant4-commit.txt -rw-r--r--. 1 avalassi zg 0 Feb 29 06:03 log-all-done drwxr-xr-x. 2 avalassi zg 4096 Feb 29 06:03 ./ -rw-r--r--. 1 avalassi zg 2088 Feb 29 06:03 log-Gauss-commit.txt
 

Download and build the software (cov-build)

Line: 330 to 339
 proj=$1 stream=LHCb-${proj}-Stream # eg LHCb-Gaudi-Stream stripall=
Changed:
<
<
for proj1 in Gaudi LHCb Lbcom Rec Boole Phys Hlt Analysis Stripping DaVinci; do
>
>
for proj1 in Gaudi LHCb Lbcom Rec Boole Phys Hlt Analysis Stripping DaVinci Gean t4 Gauss; do
  PROJ1=`echo $proj1 | awk '{print toupper($0)}'` # NB stripped paths will start by "/" even if strip prefixes end in "/" # e.g. add /builda/LHCb/LbNightlyTools/build/GAUDI
Line: 370 to 379
 

Added:
>
>
 

3. Interact with the Coverity Connect server to triage defects (developer operations)

From a user (application manager and/or power developer) perspective, interacting with the Coverity Connect server to analyze and triage defects is the most interesting aspect of the Coverity infrastructure.

Line: 382 to 392
  Click on the three horizontal white lines in the top left corner of the GUI, just below the Coverity log and the project pulldown menu: the view panel will now slide into the GUI from the left side.
Changed:
<
<
For LHCb users belonging to the lhcb-coverity-users-local group, the view panel will look like the following:
>
>
For LHCb users belonging to the lhcb-coverity-users-local group, the view panel will look like the following (in the meantime, Geant4 and Gauss views have also been added):
  coverity-views.png
Line: 399 to 409
 Some of the views you may find most relevant for your work include:
  • the standard "High impact outstanding" view, showing only defects classified as High-impact (and not yet fixed or dismissed), from all streams in the LHCb project
  • the shared "All issues in last snapshot" view, showing all defects from all LHCb streams (irrespective of impact and including also defects triaged and dismissed as fake or irrelevant)
Changed:
<
<
  • the shared "LHCb-05-Boole" view and its 9 siblings, showing all defects from one of the 10 LHCb streams (again, irrespective of impact and including also dismissed defects)
>
>
  • the shared "LHCb-05-Boole" view and its siblings, showing all defects from one of the twelve LHCb streams (again, irrespective of impact and including also dismissed defects)

You can also add your own view. For instance, you may be interested in defects in the Boole stream, but only want to list outstanding ones, excluding those that have been dismissed as irrelevant. To create a new view, click on "Add New View" in the menu next to "Issues by Snapshot"; alternatively, you may also click on "Edit Settings" for an existing view, and then select "Save as a Copy" to create a clone of that view, which you may later modify.

  As mentioned above, note that streams and components are not the same thing. A defect appearing in the "LHCb-05-Boole" view belongs to the BOOLE stream, but it can belong to the GAUDI component, if it was found in a Gaudi header used by a Boole class.
Line: 428 to 442
 

4. Status of Coverity defects for the LHCb software projects

Changed:
<
<
For reference, the total number of defects found during the first full scan on 17 Feb 2016 was the following:
>
>
For reference, the total number of defects found during the first full scan on 29 Feb 2016 was the following:
 
Added:
>
>
grep Defect `ls -tr log-*-analyze.txt`
 log-Gaudi-analyze.txt:Defect occurrences found : 1352 Total
Changed:
<
<
log-LHCb-analyze.txt:Defect occurrences found : 2273 Total
>
>
log-LHCb-analyze.txt:Defect occurrences found : 2272 Total
 log-Lbcom-analyze.txt:Defect occurrences found : 626 Total
Changed:
<
<
log-Rec-analyze.txt:Defect occurrences found : 1579 Total log-Boole-analyze.txt:Defect occurrences found : 506 Total log-Phys-analyze.txt:Defect occurrences found : 897 Total log-Hlt-analyze.txt:Defect occurrences found : 609 Total
>
>
log-Rec-analyze.txt:Defect occurrences found : 1604 Total log-Boole-analyze.txt:Defect occurrences found : 520 Total log-Phys-analyze.txt:Defect occurrences found : 895 Total log-Hlt-analyze.txt:Defect occurrences found : 973 Total
 log-Analysis-analyze.txt:Defect occurrences found : 920 Total log-Stripping-analyze.txt:Defect occurrences found : 518 Total
Changed:
<
<
log-DaVinci-analyze.txt:Defect occurrences found : 694 Total
>
>
log-DaVinci-analyze.txt:Defect occurrences found : 701 Total log-Geant4-analyze.txt:Defect occurrences found : 1132 Total log-Gauss-analyze.txt:Defect occurrences found : 1487 Total
 

-- AndreaValassi - 2016-02-18

 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback