SIP4C/C++ at CERN - Status and lessons learned

Abstract

After 4 years of promoting the Software Improvement Process for C/C++ (SIP4C/C++) initiative at CERN, we describe the current status for tools and procedures along with how they have been integrated into our environment. Based on feedback from four project teams, we present reasons for and against their adoption. Finally, we show how SIP4C/C++ has improved development and delivery processes as well as the first-line support of delivered products.A C/C++ software improvement process (SIP4C/C++) has been increasingly applied by the CERN accelerator Controls group since 2011, addressing technical and cultural aspects of our software development work. A first paper was presented at ICALEPCS 2013*. On the technical side, a number of off-the-shelf software products have been deployed and integrated, including Atlassian Crucible (code review), Google test (unit test), Valgrind (memory profiling) and SonarQube (static code analysis). Likewise, certain in-house developments are now operational such as a Generic Makefile (compile/link/deploy), CMX (for publishing runtime process metrics) and Manifest (capturing library dependencies). SIP4C/C++ has influenced our culture by promoting integration of said products into our binaries and workflows. We describe our current status for technical solutions and how they have been integrated into our environment. Based on testimony from four project teams, we present reasons for and against adoption of individual SIP4C/C++ products and processes. Finally, we show how SIP4C/C++ has improved development and delivery processes as well as the first-line support of delivered products

    Similar works

    Full text

    thumbnail-image

    Available Versions