Cargando…
Software Quality Improvement in the OMC Team
Physicists use self-written software as a tool to fulfill their tasks and often the developed software is used for several years or even decades. If a software product lives for a long time, it has to be changed and adapted to external influences. This implies that the source code has to be read, un...
Autor principal: | |
---|---|
Lenguaje: | eng |
Publicado: |
2014
|
Materias: | |
Acceso en línea: | http://cds.cern.ch/record/1697983 |
Sumario: | Physicists use self-written software as a tool to fulfill their tasks and often the developed software is used for several years or even decades. If a software product lives for a long time, it has to be changed and adapted to external influences. This implies that the source code has to be read, understood and modified. The same applies to the software of the Optics Measurements and Corrections (OMC) team at CERN. Their task is to track, analyze and correct the beams in the LHC and other accelerators. To solve this task, they revert to a self-written software base with more than 150,000 physical lines of code. The base is subject to continuous changes as well. Their software does its job and is effective, but runs regrettably not efficient because some parts of the source code are in a bad shape and has a low quality. The implementation could be faster and more memory efficient. In addition it is difficult to read and understand the code. Source code files and functions are too big and identifiers do not reveal the intention of the coder and are meaningless or even misleading. Thus it isn't easy to modify and extend the code. However, this is also a common problem in software engineering. The improving of productivity and quality in software development is still a field of research. This thesis is about the improvement of the software quality in the OMC team by adopting several techniques from professional software development. A more professional development environment was created and the quality of the existing software base was improved. Further, the members of the OMC team were sensitized to write directly clean code, to practice pair programming and to review each others source code. To measure software quality, a tailored quality model was defined. Code modifications trigger automatically an analysis tool to create metrics, based on the quality model, and present them in a dashboard. A trend anaylysis of this data will show if future developments will increase the software quality. In case that it becomes worse, appropriate steps can be initiated to refactor the corresponding source code parts. In addition a best practices guide was developed in the course of this thesis, which can be used to improve the software quality in any other team. |
---|