Advanced Belle II Software Validation
- Mentors
- Thomas Kuhr, Nikolai Hartmann
- Organization
- CERN-HSF
- Technologies
- python, linux, cherrypy
- Topics
- web, continuous integration, validation
The international Belle II collaboration handles huge amounts of data from the Belle II detector, relying on custom software for simulation, reconstruction,
visualization, and analysis. This software, developed over the past decade by hundreds of physicists, is constantly evolving to optimize the algorithms for better physics performance and resource efficiency.
Given the size, diversity and dynamic nature of the development team, quality assurance of the software is a big challenge. Belle II Software has had several monitoring schemes implemented so far, along with a high-level validation tool. This tool runs on existing large datasets producing distribution plots of quantities relevant for physics analyses and displaying the results on a webpage. This project aims to improve this validation tool. Bookkeeping of known issues detected by the tool, along with improved logging and integration with the issue tracking system can help fast track root cause analyses. The plots generated can also display more relevant information, and point toward the datasets used to encourage the reuse of common artefacts.
The plan is to enhance the user experience of the Belle II software validation tool and make workflows more efficient with appropriate technical solutions. We will start with integrating the issue tracking system with the validation tool, to better track the history of degradations. The plotting module will be overhauled to include relevant software information, as well as hyperlinks to make them self-sufficient. Enhancements to the logging module to have better logs attached directly to the issues from the validation tool to fast track issue debugging. The common artefacts will be pooled together in a manner allowing for easy reference from plots, logs and issues and also to prevent regeneration overheads. All the changes will be integrated with the production code, after rigorous testing, along with detailed documentation.