Author: Nguyen Xuan, J.
Paper Title Page
MOPPC087 Tools and Rules to Encourage Quality for C/C++ Software 303
 
  • K. Sigerud, V. Baggiolini, J.C. Bau, S. Deghaye, J. Nguyen Xuan, X. Piroux, G. Sivatskiy, W. Sliwinski, I. Yastrebov
    CERN, Geneva, Switzerland
 
  Inspired by the success of the software improvement process for Java projects, in place since several years in the CERN accelerator controls group, it was agreed in 2011 to apply the same principles to the C/C++ software developed in the group, an initiative we call the Software Improvement Process for C/C++ software (SIP4C/C++). The objectives of the SIP4C/C++ initiative are: 1) agree on and establish best software quality practices, 2) choose tools for quality and 3) integrate these tools in the build process. After a year we have reached a number of concrete results, thanks to the collaboration between several involved projects, including: common build tool (based on GNU Make), which standardizes the way to build, test and release C/C++ binaries; unit testing with Google Test & Google Mock; continuous integration of C/C++ products with the existing CI server (Atlassian Bamboo); static code analysis (Coverity); generation of manifest file with dependency information; and runtime in-process metrics. This work presents the SIP4C/C++ initiative in more detail, summarizing our experience and the future plans.  
poster icon Poster MOPPC087 [3.062 MB]