<  Back to the Polytechnique Montréal portal

Understanding the Impact of Release Processes and Practices on Software Quality

Le An

Ph.D. thesis (2019)

Open Access document in PolyPublie
[img]
Preview
Open Access to the full text of this document
Terms of Use: All rights reserved
Download (1MB)
Show abstract
Hide abstract

Abstract

Release engineering encompasses all the activities aimed at “building a pipeline that transforms source code into an integrated, compiled, packaged, tested, and signed product that is ready for release”. The strategy of the release processes and practices can impact the quality of a software artefact. Although such impact has been extensively discussed and studied in the software engineering community, there are still many pending issues to resolve. The goal of this thesis is to study and solve some of these pending issues. More specifically, we examine 1) why code review practices can miss crash-prone code; 2) how urgent patches (also called patch uplift) are approved to release and how to prevent regressions due to urgent patches; 3) in a software ecosystem, how to mitigate the risk of defects due to DLLinjections. We chose to study these problems because they correspond to three important phases of software release processes, i.e., code review, patch uplift, and releasing software in an ecosystem. The solutions of these problems can help software organizations improve their release strategy; increasing their development productivity and the overall user-perceived quality of their products.

Résumé

L'ingénierie de production (release engineering) englobe toutes les activités visant à «construire un pipeline qui transforme le code source en un produit intégré, compilé, empaqueté, testé et signé prêt à être publier». La stratégie des production et les pratiques de publication peuvent avoir un impact sur la qualité d'un produit logiciel. Bien que cet impact ait été longuement discuté et étudié dans la communauté du génie logiciel, il reste encore plusieursproblèmes à résoudre. Cette thèse s'attaque à quelque-uns de ces problèmes non résoulus de l'ingénierie de productionen vue de proposer des solutions. En particulier, nous investigons : 1) pourquoi les activités de révision de code (code review) peuvent rater des erreurs de code susceptiblesde causer des plantages (crashs); (2) comment prévenir les bogues lors de l'approbation et l'intégration des patches urgents; 3) dans un écosystème logiciel, comment atténuer le risque de bogues dus à des injections de DLL. Nous avons choisi d'étudier ces problèmes car ils correspondentà trois phases importantes des processus de production de logiciels, c'est-à-dire la révision de code, les patches urgents, et la publication de logiciels dans un écosystème. Les solutions à ces problèmes peuvent aider les entreprises de logiciels à améliorer leur stratégie de production et de publication. Ce qui augmentera leur productivité de développement et la qualité générale de leurs produits logiciels.
Department: Department of Computer Engineering and Software Engineering
Program: Génie informatique
Academic/Research Directors: Foutse Khomh
PolyPublie URL: https://publications.polymtl.ca/3857/
Institution: Polytechnique Montréal
Date Deposited: 12 Jun 2019 15:39
Last Modified: 09 Nov 2022 00:47
Cite in APA 7: An, L. (2019). Understanding the Impact of Release Processes and Practices on Software Quality [Ph.D. thesis, Polytechnique Montréal]. PolyPublie. https://publications.polymtl.ca/3857/

Statistics

Total downloads

Downloads per month in the last year

Origin of downloads

Repository Staff Only

View Item View Item