<  Back to the Polytechnique Montréal portal

Data-Access Technical Debt: Specification, Refactoring, and Impact Analysis

Biruk Asmare Muse

Ph.D. thesis (2022)

[img] Restricted to: Repository staff only until 20 June 2024
Terms of Use: All rights reserved
Show abstract
Hide abstract

Abstract

Leveraging the vast amount of heterogeneous data generated by humans and machines to obtain actionable insights is becoming the center of attention in industry and the research community. Business decisions and governance policies are driven by the insights and recommendations obtained from analyzing this big data. Due to the size, heterogeneity, and complexity, handling this data with traditional software and applications is becoming more challenging. As a result, data-intensive software systems leveraging the availability of cloud infrastructures were introduced to address this challenge. The development of data-intensive systems involves the integration of data storage, processing, and presentation frameworks. Data-access code, implementing direct interactions with databases or other persistence systems via calls to driver functions or APIs, plays a pivotal role in data-intensive systems by linking processing and presentation components with data storage components. The development of data-intensive systems poses several challenges during design, implementation, and quality assurance. Hence, developers of data-intensive systems, like traditional software systems, could intentionally or unintentionally introduce technical debts due to the usual release pressure on developers and focus on addressing the functional requirements. Technical debts are design and implementation shortcuts to quickly address current requirements, but they compromise software quality in the long run. In addition to the technical debts prevalent in traditional software systems, data-intensive systems could be prone to data-access technical debts, compromising the quality of data-access operations. While the characterization and impact analysis of traditional technical debts are well investigated, not much attention was given to data-access technical debts. Considering the critical importance of data-access code to data-intensive systems, we believe that the findings from specification, characterization, and impact analysis of data-access technical debts will have a significant contribution towards improving the quality of data-intensive systems.

Résumé

L’exploitation de la grande quantité de données hétérogènes générées par les humains et les machines pour obtenir des informations exploitables devient le centre d’attention de l’industrie et de la communauté de la recherche. Les décisions commerciales et les politiques de gouvernance sont guidées par les informations et les recommandations obtenues à partir de l’analyse de ces mégadonnées. En raison de la taille, de l’hétérogénéité et de la complexité, la gestion de ces données avec des logiciels et des applications traditionnels devient plus difficile. En conséquence, des systèmes très consommateurs en données tirant parti de la disponibilité des infrastructures infonuagiques ont été introduits pour relever ce défi. Le développement de systèmes à forte intensité de données implique l’intégration de cadres de stockage, de traitement et de présentation de données. Code d’accès aux données, mettant en oeuvre des interactions directes avec des bases de données ou d’autres systèmes de persistance via des appels aux fonctions de pilote ou aux API, joue un rôle central dans les systèmes à forte intensité de données en reliant les composants de traitement et de présentation aux composants de stockage de données. Le développement de systèmes à forte intensité de données pose plusieurs défis lors de la conception, de la mise en oeuvre et de l’assurance qualité. Par conséquent, les développeurs de systèmes à forte intensité de données, comme les systèmes logiciels traditionnels, pourraient intentionnellement ou non introduire des dettes techniques en raison de la pression de déploiement habituelle sur les développeurs et se concentrer sur la satisfaction des exigences fonctionnelles. Les dettes techniques sont des raccourcis de conception et de mise en oeuvre pour répondre rapidement aux besoins actuels mais compromettent la qualité du logiciel à long terme. En plus des dettes techniques courantes dans les systèmes logiciels traditionnels, les systèmes à forte intensité de données pourraient être sujets à des dettes techniques d’accès aux données compromettant la qualité des opérations d’accès aux données.

Department: Department of Computer Engineering and Software Engineering
Program: Génie informatique
Academic/Research Directors: Foutse Khomh and Giuliano Antoniol
PolyPublie URL: https://publications.polymtl.ca/10720/
Institution: Polytechnique Montréal
Date Deposited: 20 Jun 2023 11:37
Last Modified: 16 Nov 2023 01:08
Cite in APA 7: Muse, B. A. (2022). Data-Access Technical Debt: Specification, Refactoring, and Impact Analysis [Ph.D. thesis, Polytechnique Montréal]. PolyPublie. https://publications.polymtl.ca/10720/

Statistics

Total downloads

Downloads per month in the last year

Origin of downloads

Repository Staff Only

View Item View Item