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...

Descripción completa

Detalles Bibliográficos
Autor principal: Maier, Viktor
Lenguaje:eng
Publicado: 2014
Materias:
Acceso en línea:http://cds.cern.ch/record/1697983
_version_ 1780936205584564224
author Maier, Viktor
author_facet Maier, Viktor
author_sort Maier, Viktor
collection CERN
description 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.
id cern-1697983
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2014
record_format invenio
spelling cern-16979832019-09-30T06:29:59Zhttp://cds.cern.ch/record/1697983engMaier, ViktorSoftware Quality Improvement in the OMC TeamComputing and ComputersPhysicists 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.CERN-THESIS-2014-028oai:cds.cern.ch:16979832014-05-02T15:11:04Z
spellingShingle Computing and Computers
Maier, Viktor
Software Quality Improvement in the OMC Team
title Software Quality Improvement in the OMC Team
title_full Software Quality Improvement in the OMC Team
title_fullStr Software Quality Improvement in the OMC Team
title_full_unstemmed Software Quality Improvement in the OMC Team
title_short Software Quality Improvement in the OMC Team
title_sort software quality improvement in the omc team
topic Computing and Computers
url http://cds.cern.ch/record/1697983
work_keys_str_mv AT maierviktor softwarequalityimprovementintheomcteam