Modernizing the CMS software stack

2020-01-07T04:47:42Z (GMT) by Mircho Nikolaev Rodozov David Lange
The CMS experiment relies on a substantial C++ and Python-based software release for its day-to-day production, operations and analysis needs. While very much under active development, this codebase continues to age. At the same time, CMSSW codes are likely to be used for the next two decades, in one form or another. Thus, the "cost" of bugs entering CMSSW continues to increase, both due to the increasing scale of production and analysis activities and due to the increased time to identify bugs in a legacy system. The software integration system for CMSSW must therefore continue to evolve to include modern tools, to provide developers with better information for debugging, and to give code reviewers more tools for code quality evaluation. This talk will describe the approach and results from recent changes to CMSSW including the addition of code formatting checks, the integration of accelerators into build and test procedures, and changing the CMS software base and development platform from Python2 to Python3. We will discuss the continued enhancement of the CMS continuous integration systems based on GitHub and Jenkins as well as the adoption of new code analytics tools.