Constellation, le dépôt institutionnel de l'Université du Québec à Chicoutimi

Vers l’évaluation de la stabilité des systèmes à l’aide de la densité des logs

Medeiros de Vasconcellos Marcelo. (2023). Vers l’évaluation de la stabilité des systèmes à l’aide de la densité des logs. Mémoire de maîtrise, Université du Québec à Chicoutimi.

[thumbnail of MedeirosdeVasconcellos_uqac_0862N_11033.pdf] PDF
2MB

Résumé

Les systèmes informatiques sont de plus en plus présents dans notre vie quotidienne. Pour augmenter leur disponibilité et leur fiabilité, les développeurs insèrent des instructions de journalisation dans le code source des systèmes, lesquelles génèrent des fichiers de journaux qui enregistrent des informations telles que l’état interne, les variables modifiées durant l’exécution, etc. Les administrateurs surveillent les systèmes en examinant ces fichiers de journaux et les développeurs utilisent cette base pour résoudre certains problèmes. Des recherches récentes ont montré que le nombre d’instructions de journaux (LPS) par ligne de code dans le fichier, également appelé densité des journaux (LOGD), est en relation directe avec la maintenabilité du système ; cela signifie que plus on trouve des LPS dans un fichier, plus sa densité de défauts après la publication est élevée. Cela s’explique par le fait que les développeurs ont tendance à inclure plus d’instructions de journalisation, et ont plus de questions et de préoccupations, à propos des portions du système qui sont davantage sujettes à des défauts. De nos jours, il existe des systèmes logiciels qui sont utilisés depuis longtemps et qui, par conséquent, ont été maintenus de façon constante pendant plusieurs versions. Cependant, le processus de décision pour la mise en oeuvre de nouvelles versions manque d’indicateurs à propos de la stabilité de ces versions. À cet égard, la LOGD peut constituer une métrique qui peut indiquer la stabilité du code du système. Des recherches antérieures ont étudié la Densité des journaux (LOGD) sur plusieurs systèmes. Cependant, la densité n’a pas été étudiée au cours du développement des systèmes, entre leurs différentes versions, et on ne sait pas quelles sont les implications liées à l’évolution de la densité entre eux. L’objectif de cette étude est d’analyser l’évolution de LOGD au cours du cycle de développement d’un système open source, en particulier Hadoop. Comme première contribution, nous proposons d’utiliser la différence de LOGD entre les versions consécutives d’un logiciel comme indicateur de la stabilité du code. Nous avons évalué le code de 131 versions du projet Hadoop, développé par l’Apache Software Foundation (Apache Software Foundation (ASF)) de la version 0.1.0 à la version 3.3.5, en évaluant la LOGD au cours de l’évolution du système. La deuxième contribution est l’outil que nous avons développé pour effectuer le calcul et qui est disponible sous licence open source dans le but d’être utilisé pour d’autres recherches. Nous avons constaté que la LOGD subit de fortes variations au début du projet et qu’elle tend à diminuer au cours du développement du système. Nous concluons également que la différence entre les LOGD de versions consécutives d’un logiciel est un bon indicateur pour éviter la dépréciation du code de journalisation dans les systèmes.

Computer systems are increasingly present in our daily lives. To increase availability and reliability, developers insert log instructions into the source code of systems to generate log files that record information such as status and runtime variables, etc. System administrators monitor systems via log files and developers use the base to troubleshoot problems. Recent research has shown that the number of log instructions (LPS) per line of code in the file, also known as log density (LOGD), has a direct relationship with system maintainability, i.e., the more LPS in a file, the higher its defect density after release, because developers tend to include more files that have more issues and concerns and are therefore more prone to defects. Nowadays, there are software systems that have been in use for a long time and, therefore, are constantly maintained for several releases. However, the decision-making process for the implementation of new versions lacks indicators that reveal the stability of these versions. In this regard, one metric that can indicate the stability of the system code is LOGD. Previous research has studied LOGD between systems. However, density has not been studied during the development of systems, between their different versions, and what are the implications related to the evolution of density between them. The objective of this study is to analyze the evolution of LOGD during the development cycle of an open source system, in particular Hadoop. We propose to use the difference in LOGD between consecutive versions of a software as an indicator of code stability. We evaluated the code of 131 versions of the project Hadoop, developed by ASF from version 0.1.0 to version 3.3.5, evaluating the LOGD during the evolution of the system. The second contribution is the tool that we developed to perform the calculation and that is available under opensource license with the purpose of being used for further research. We found that the LOGD undergoes a strong variation at the beginning of the project and that it tends to reduce during the development of the system. This shows that with the maturity of the project. We also conclude that the difference between the LOGD between consecutive versions of a software is a good indicator to avoid the depreciation of the daily code in the systems.

Type de document:Thèse ou mémoire de l'UQAC (Mémoire de maîtrise)
Date:2023
Lieu de publication:Chicoutimi
Programme d'étude:Maîtrise en informatique
Nombre de pages:85
ISBN:Non spécifié
Sujets:Sciences naturelles et génie > Génie > Génie informatique et génie logiciel
Sciences naturelles et génie > Sciences mathématiques > Informatique
Sciences naturelles et génie > Sciences mathématiques > Mathématiques appliquées
Département, module, service et unité de recherche:Départements et modules > Département d'informatique et de mathématique > Programmes d'études de cycles supérieurs en informatique
Directeur(s), Co-directeur(s) et responsable(s):Hallé, Sylvain
Petrillo, Fabio
Mots-clés:densité des journaux, journalisation, journaux, log, log density, logging, instructions de journalisation, log printing statements
Déposé le:24 juill. 2023 08:46
Dernière modification:28 août 2023 21:37
Afficher les statistiques de telechargements

Éditer le document (administrateurs uniquement)

Creative Commons LicenseSauf indication contraire, les documents archivés dans Constellation sont rendus disponibles selon les termes de la licence Creative Commons "Paternité, pas d'utilisation commerciale, pas de modification" 2.5 Canada.

Bibliothèque Paul-Émile-Boulet, UQAC
555, boulevard de l'Université
Chicoutimi (Québec)  CANADA G7H 2B1
418 545-5011, poste 5630