Dépendances externes dans les programmes : spécification, détection et inexactitudes ; External Dependencies in Programs : Specification, Detection and Incorrectness

Gespeichert in:
Bibliographische Detailangaben
Titel: Dépendances externes dans les programmes : spécification, détection et inexactitudes ; External Dependencies in Programs : Specification, Detection and Incorrectness
Autoren: Hosry, Aless
Weitere Verfasser: Université de Lille (2022-.), Anquetil, Nicolas
Publikationsjahr: 2024
Bestand: theses.fr
Schlagwörter: Dépendances externes, Dépendances incorrectes, Qualité logicielle, Correspondance de motifs, External dependencies, Incorrect dependencies, Software quality, Pattern matching
Beschreibung: Un logiciel réussi nécessite des modifications constantes.Pour garantir le bon fonctionnement continu des applications, les développeurs doivent bien les comprendre, notamment en ayant une carte précise des dépendances entre les parties qu'ils modifient.Cependant, certaines de ces dépendances ne sont pas facilement identifiables.Par exemple, dans une application Android, il existe des dépendances entre le code source Java et les parties XML, dont certaines sont matérialisées par une classe Java "R" générée.Un autre exemple est le logiciel qui se connecte à une base de données, où des requêtes SQL sont intégrées dans le code source de ce logiciel (comme en Java, .NET, etc.).Ces requêtes font référence à des entités de base de données telles que des tables et des procédures stockées.Nous appelons ces dépendances externes car elles sont introduites par un agent externe au code source.Elles ne sont pas facilement détectables car elles existent entre des parties (comme différents langages de programmation, différentes couches, etc.).Dans cette thèse, nous avons développé un outil générique nommé Adonis, qui utilise des modèles réutilisables pour identifier les dépendances.Nous avons implémenté cet outil dans le langage de programmation Pharo et l'avons validé sur divers projets open source et industriels. Au cours de l'implémentation, nous avons réalisé la nécessité d'un moteur de recherche capable d'identifier des parties de dépendances externes, indépendamment de leur langage de code source, de leur profondeur dans le code ou de la complexité de leur emplacement.Pour répondre à ce besoin, nous avons créé MoTion, un langage de correspondance de motifs déclaratif capable de définir des modèles et de faire correspondre des objets ou des arbres d'objets dans des modèles importés dans Pharo, ainsi que de faire correspondre des chaînes de texte à l'aide d'expressions régulières.De plus, nous avons découvert que les dépendances externes sont parfois établies de manière incorrecte, ce qui peut entraîner des défauts dans le ...
Publikationsart: thesis
Sprache: English
Relation: http://www.theses.fr/2024ULILB045/document
Verfügbarkeit: http://www.theses.fr/2024ULILB045/document
Rights: Open Access ; http://purl.org/eprint/accessRights/OpenAccess
Dokumentencode: edsbas.AA7475FE
Datenbank: BASE
Beschreibung
Abstract:Un logiciel réussi nécessite des modifications constantes.Pour garantir le bon fonctionnement continu des applications, les développeurs doivent bien les comprendre, notamment en ayant une carte précise des dépendances entre les parties qu'ils modifient.Cependant, certaines de ces dépendances ne sont pas facilement identifiables.Par exemple, dans une application Android, il existe des dépendances entre le code source Java et les parties XML, dont certaines sont matérialisées par une classe Java "R" générée.Un autre exemple est le logiciel qui se connecte à une base de données, où des requêtes SQL sont intégrées dans le code source de ce logiciel (comme en Java, .NET, etc.).Ces requêtes font référence à des entités de base de données telles que des tables et des procédures stockées.Nous appelons ces dépendances externes car elles sont introduites par un agent externe au code source.Elles ne sont pas facilement détectables car elles existent entre des parties (comme différents langages de programmation, différentes couches, etc.).Dans cette thèse, nous avons développé un outil générique nommé Adonis, qui utilise des modèles réutilisables pour identifier les dépendances.Nous avons implémenté cet outil dans le langage de programmation Pharo et l'avons validé sur divers projets open source et industriels. Au cours de l'implémentation, nous avons réalisé la nécessité d'un moteur de recherche capable d'identifier des parties de dépendances externes, indépendamment de leur langage de code source, de leur profondeur dans le code ou de la complexité de leur emplacement.Pour répondre à ce besoin, nous avons créé MoTion, un langage de correspondance de motifs déclaratif capable de définir des modèles et de faire correspondre des objets ou des arbres d'objets dans des modèles importés dans Pharo, ainsi que de faire correspondre des chaînes de texte à l'aide d'expressions régulières.De plus, nous avons découvert que les dépendances externes sont parfois établies de manière incorrecte, ce qui peut entraîner des défauts dans le ...