<?xml version="1.0" encoding="UTF-8"?><mets:mets xmlns:mets="http://www.loc.gov/METS/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:mads="http://www.loc.gov/mads/" xmlns:metsRights="http://cosimo.stanford.edu/sdr/metsrights/" xmlns:suj="http://www.theses.fr/namespace/sujets" xmlns:tef="http://www.abes.fr/abes/documents/tef" xmlns:tefextension="http://www.abes.fr/abes/documents/tefextension" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.loc.gov/METS/ http://www.abes.fr/abes/documents/tef/recommandation/tef_schemas.xsd">
<mets:metsHdr CREATEDATE="2023-11-07T16:17:28" ID="ABES.STAR.THESE_206739.METS_HEADER" LASTMODDATE="2024-12-21T04:24:24Z" RECORDSTATUS="valide">
<mets:agent ROLE="CREATOR">
<mets:name/>
<mets:note>Note</mets:note>
</mets:agent>
<mets:agent ROLE="DISSEMINATOR">
<mets:name>ABES</mets:name>
</mets:agent>
<mets:altRecordID ID="ABES.STAR.THESE_206739.METS_HEADER.ALTERNATE" TYPE=""/>
</mets:metsHdr>
<mets:dmdSec ID="ABES.STAR.THESE_206739.DESCRIPTION_BIBLIOGRAPHIQUE">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_desc_these">
<mets:xmlData>
<tef:thesisRecord>
<dc:title xml:lang="en">An interactive debugging approach based on time-traveling queries</dc:title>
<dcterms:alternative xml:lang="fr">Une approche de débogage interactive basée sur des Time-traveling queries</dcterms:alternative>
<dc:subject xml:lang="fr">Débogueurs voyageant dans le temps</dc:subject>
<dc:subject xml:lang="fr">Requêtes de voyage dans le temps</dc:subject>
<dc:subject xml:lang="fr">Données d’exécution</dc:subject>
<dc:subject xml:lang="en">Debugging</dc:subject>
<dc:subject xml:lang="en">Time-Traveling Debuggers</dc:subject>
<dc:subject xml:lang="en">Reversible Debuggers</dc:subject>
<dc:subject xml:lang="en">Reverse and Replay</dc:subject>
<dc:subject xml:lang="en">Time-Traveling Queries</dc:subject>
<dc:subject xsi:type="dcterms:DDC"/>
<tef:sujetRameau xml:lang="fr">
<tef:vedetteRameauNomCommun>
<tef:elementdEntree autoriteExterne="027758273" autoriteSource="Sudoc">Débogage</tef:elementdEntree>
</tef:vedetteRameauNomCommun>
<tef:vedetteRameauNomCommun>
<tef:elementdEntree autoriteExterne="028909917" autoriteSource="Sudoc">Logiciels -- Développement</tef:elementdEntree>
</tef:vedetteRameauNomCommun>
<tef:vedetteRameauNomCommun>
<tef:elementdEntree autoriteExterne="050230816" autoriteSource="Sudoc">Mémoire partagée répartie</tef:elementdEntree>
</tef:vedetteRameauNomCommun>
<tef:vedetteRameauNomCommun>
<tef:elementdEntree autoriteExterne="181324385" autoriteSource="Sudoc">Pharo (langage de programmation)</tef:elementdEntree>
</tef:vedetteRameauNomCommun>
</tef:sujetRameau>
<dcterms:abstract xml:lang="fr">Le debugging est une activité incontournable du développement logiciel.Il s'agit d'une tâche ardue qui nécessite une grande quantité de temps et de ressources, et elle exige que les développeurs aient une compréhension approfondie de leurs programmes. Pour ce faire, les développeurs explorent l'exécution de leurs programmes à l'aide de debuggers interactifs.Cependant, cette activité est souvent répétitive et coûteuse.Afin de simplifier l'exploration interactive des programmes, nous proposons les Time-traveling Queries (TTQs).TTQs est un mécanisme qui explore automatiquement les exécutions de programmes en utilisant un Time-traveling Debugger pour recueillir des données d'exécution.Ce mécanisme permet une nouvelle approche de debugging, où les données collectées permettent de voyager dans le temps à travers les états d'exécution, facilitant ainsi l'exploration des exécutions de programmes.Nous avons élaboré un ensemble de questions clés basées sur des questions typiques que les développeurs se posent lorsqu'ils essaient de comprendre les programmes.Pour évaluer l'impact de nos requêtes sur les activités de compréhension des programmes, nous avons mené une étude empirique impliquant 34 utilisateurs.Nos résultats montrent que, par rapport aux outils de debugging traditionnels, les TTQs améliorent considérablement la précision des développeurs tout en réduisant le temps et les efforts nécessaires pour mener à bien les tâches de compréhension des programmes.Malgré les résultats prometteurs que notre approche a montrés, elle présente une exigence cruciale: elle nécessite l'utilisation d'un Time-traveling Debugger pour être opérationnelle.Cependant, il est important de noter que les debuggers de ce genre ne sont pas disponibles pour tous les systèmes.Dans les systèmes où plusieurs programmes sont exécutés dans une mémoire partagée, les Time-traveling Debuggers se heurtent à la complexité de délimiter les effets en mémoire causés par les opérations de voyage dans le temps.Pour résoudre ce problème, nous avons mené une étude approfondie des propriétés essentielles requises pour adapter les solutions de voyage dans le temps à ce type de système.En utilisant ces propriétés comme guide, nous avons introduit deux Time-traveling Debuggers spécifiquement conçus pour Pharo, un système qui repose sur une mémoire partagée.Nous avons ensuite évalué l'importance de ces propriétés au travers de deux expériences, démontrant ainsi leur rôle crucial dans la réalisation d'opérations précises de voyage dans le temps.Enfin, nous avons procédé à une analyse approfondie des solutions existantes pour évaluer leur applicabilité dans le contexte des systèmes à mémoire partagée.</dcterms:abstract>
<dcterms:abstract xml:lang="en">Debugging is an indispensable part of software development, often consuming a significant amount of time and resources.Efficiently debugging a program requires program comprehension.To acquire it, developers explore the program execution, a task often performed using interactive debuggers.Unfortunately, exploring a program's execution through standard interactive debuggers is a tedious and costly task.We propose Time-traveling Queries (TTQs) to ease interactive program exploration.TTQs is a mechanism that automatically explores program executions using a time-traveling debugger to collect execution data.This mechanism enables a new debugging approach, where the collected data is used to time-travel through execution states, facilitating the exploration of program executions.We built a set of key TTQs based on typical questions developers ask when trying to understand programs.We conducted a user study with 34 participants to evaluate the impact of our queries on program comprehension activities.Results show that, compared to traditional debugging tools, TTQs significantly improve developers' precision while reducing the time and effort required to perform program comprehension tasks, allowing for a more efficient debugging process.While our TTQs-based debugging approach shows promising results in improving interactive debugging problems, it requires a time-traveling debugger to operate.However, debuggers of such kind are not available in all systems.In systems where multiple programs run in shared memory, time-traveling debuggers face the challenge of precisely scoping time-travel operations.This presents a critical difficulty that limits the applicability of time-traveling debuggers to these systems.To investigate this difficulty, we study the essential properties required to apply time-traveling solutions to this type of system.From these properties, we introduced two time-traveling debuggers for Pharo, a shared memory system.We evaluated the importance of these properties through two experiments, demonstrating their significance in performing precise time-traveling operations.Furthermore, we analyze existing solutions to assess their applicability to shared memory systems.</dcterms:abstract>
<dc:type>Electronic Thesis or Dissertation</dc:type>
<dc:type xsi:type="dcterms:DCMIType">Text</dc:type>
<dc:language xsi:type="dcterms:RFC3066">en</dc:language>
</tef:thesisRecord>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
<mets:dmdSec ID="ABES.STAR.THESE_206739.VERSION_COMPLETE.DESCRIPTION.EDITION_ARCHIVAGE">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_desc_edition">
<mets:xmlData>
<tef:edition>
<dcterms:medium xsi:type="dcterms:IMT">PDF</dcterms:medium>
<dcterms:extent>9609435</dcterms:extent>
<dc:identifier xsi:type="dcterms:URI">https://pepite-depot.univ-lille.fr/LIBRE/EDMADIS/2023/2023ULILB031.pdf</dc:identifier>
<dc:identifier xsi:type="dcterms:URI">https://theses.hal.science/tel-04512544</dc:identifier>
<dc:identifier xsi:type="dcterms:URI">https://theses.hal.science/tel-04512544</dc:identifier>
<dc:identifier xsi:type="dcterms:URI">https://theses.hal.science/tel-04512544</dc:identifier>
<dc:identifier xsi:type="dcterms:URI">https://theses.hal.science/tel-04512544</dc:identifier>
<dc:identifier xsi:type="dcterms:URI">https://theses.hal.science/tel-04512544</dc:identifier>
<dc:identifier xsi:type="dcterms:URI">https://theses.fr/2023ULILB031/abes</dc:identifier>
<dc:identifier xsi:type="dcterms:URI">https://theses.hal.science/tel-04512544</dc:identifier>
<dc:identifier xsi:type="dcterms:URI">https://theses.hal.science/tel-04512544</dc:identifier>
<dc:identifier xsi:type="dcterms:URI">https://theses.hal.science/tel-04512544</dc:identifier>
</tef:edition>
</mets:xmlData>
</mets:mdWrap>
</mets:dmdSec>
<mets:amdSec>
<mets:techMD ID="ABES.STAR.THESE_206739.ADMINISTRATION">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_admin_these">
<mets:xmlData>
<tef:thesisAdmin>
<tef:auteur>
<tef:nom>Willembrinck Santander</tef:nom>
<tef:prenom>Maximilian Ignacio</tef:prenom>
<tef:nomDeNaissance>Willembrinck Santander</tef:nomDeNaissance>
<tef:dateNaissance>1986-08-29</tef:dateNaissance>
<tef:nationalite scheme="ISO-3166-1">CL</tef:nationalite>
<tef:autoriteExterne autoriteSource="Sudoc">27647709X</tef:autoriteExterne>
</tef:auteur>
<dc:identifier xsi:type="tef:nationalThesisPID">https://theses.fr/2023ULILB031</dc:identifier>
<dc:identifier xsi:type="tef:NNT">2023ULILB031</dc:identifier>
<dc:identifier xsi:type="tef:DOI">https://doi.org/10.70675/2372cfd2z4549z4f8dzb941z37a198b2a5f6</dc:identifier>
<dcterms:dateAccepted xsi:type="dcterms:W3CDTF">2023-11-21</dcterms:dateAccepted>
<tef:thesis.degree>
<tef:thesis.degree.discipline xml:lang="fr">Informatique et applications</tef:thesis.degree.discipline>
<tef:thesis.degree.grantor>
<tef:nom>Université de Lille (2022-....)</tef:nom>
<tef:autoriteExterne autoriteSource="Sudoc">259265152</tef:autoriteExterne>
</tef:thesis.degree.grantor>
<tef:thesis.degree.level>Doctorat</tef:thesis.degree.level>
<tef:thesis.degree.name xml:lang="fr">Docteur es</tef:thesis.degree.name>
</tef:thesis.degree>
<tef:theseSurTravaux>non</tef:theseSurTravaux>
<tef:avisJury>oui</tef:avisJury>
<tef:directeurThese>
<tef:nom>Etien</tef:nom>
<tef:prenom>Anne</tef:prenom>
<tef:autoriteInterne>MADS_DIRECTEUR_DE_THESE_1</tef:autoriteInterne>
<tef:autoriteExterne autoriteSource="Sudoc">102053332</tef:autoriteExterne>
</tef:directeurThese>
<tef:presidentJury>
<tef:nom>Rudametkin</tef:nom>
<tef:prenom>Walter</tef:prenom>
<tef:autoriteInterne>MADS_PRESIDENT_DU_JURY</tef:autoriteInterne>
<tef:autoriteExterne autoriteSource="Sudoc">169898180</tef:autoriteExterne>
</tef:presidentJury>
<tef:membreJury>
<tef:nom>Le Pors</tef:nom>
<tef:prenom>Éric</tef:prenom>
<tef:autoriteInterne>MADS_MEMBRE_DU_JURY_1</tef:autoriteInterne>
<tef:autoriteExterne autoriteSource="Sudoc">144123576</tef:autoriteExterne>
</tef:membreJury>
<tef:membreJury>
<tef:nom>Costiou</tef:nom>
<tef:prenom>Steven</tef:prenom>
<tef:autoriteInterne>MADS_MEMBRE_DU_JURY_2</tef:autoriteInterne>
<tef:autoriteExterne autoriteSource="Sudoc">234842342</tef:autoriteExterne>
</tef:membreJury>
<tef:rapporteur>
<tef:nom>Gonzalez Boix</tef:nom>
<tef:prenom>Elisa</tef:prenom>
<tef:autoriteInterne>MADS_RAPPORTEUR_1</tef:autoriteInterne>
<tef:autoriteExterne autoriteSource="Sudoc">259915068</tef:autoriteExterne>
</tef:rapporteur>
<tef:rapporteur>
<tef:nom>Dony</tef:nom>
<tef:prenom>Christophe</tef:prenom>
<tef:autoriteInterne>MADS_RAPPORTEUR_2</tef:autoriteInterne>
<tef:autoriteExterne autoriteSource="Sudoc">048655198</tef:autoriteExterne>
</tef:rapporteur>
<tef:ecoleDoctorale>
<tef:nom>École graduée Mathématiques, sciences du numérique et de leurs interactions (Lille ; 2021-....)</tef:nom>
<tef:autoriteInterne>MADS_ECOLE_DOCTORALE_1</tef:autoriteInterne>
<tef:autoriteExterne autoriteSource="Sudoc">258621362</tef:autoriteExterne>
</tef:ecoleDoctorale>
<tef:partenaireRecherche type="laboratoire">
<tef:nom>Centre de Recherche en Informatique, Signal et Automatique de Lille</tef:nom>
<tef:autoriteInterne>MADS_PARTENAIRE_DE_RECHERCHE_1</tef:autoriteInterne>
<tef:autoriteExterne autoriteSource="labTEL">410272</tef:autoriteExterne>
<tef:autoriteExterne autoriteSource="Sudoc">18388695X</tef:autoriteExterne>
</tef:partenaireRecherche>
<tef:partenaireRecherche type="laboratoire">
<tef:nom>Centre Inria de l'Université de Lille</tef:nom>
<tef:autoriteInterne>MADS_PARTENAIRE_DE_RECHERCHE_2</tef:autoriteInterne>
<tef:autoriteExterne autoriteSource="labTEL">104752</tef:autoriteExterne>
<tef:autoriteExterne autoriteSource="Sudoc">185432247</tef:autoriteExterne>
</tef:partenaireRecherche>
<tef:partenaireRecherche type="equipeRecherche">
<tef:nom>EVREF</tef:nom>
<tef:autoriteInterne>MADS_PARTENAIRE_DE_RECHERCHE_3</tef:autoriteInterne>
</tef:partenaireRecherche>
<tef:oaiSetSpec>ddc:004</tef:oaiSetSpec>
<tef:MADSAuthority authorityID="MADS_DIRECTEUR_DE_THESE_1" type="personal">
<tef:personMADS>
<mads:namePart type="family">Etien</mads:namePart>
<mads:namePart type="given">Anne</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
<tef:MADSAuthority authorityID="MADS_PRESIDENT_DU_JURY" type="personal">
<tef:personMADS>
<mads:namePart type="family">Rudametkin</mads:namePart>
<mads:namePart type="given">Walter</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
<tef:MADSAuthority authorityID="MADS_MEMBRE_DU_JURY_1" type="personal">
<tef:personMADS>
<mads:namePart type="family">Le Pors</mads:namePart>
<mads:namePart type="given">Éric</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
<tef:MADSAuthority authorityID="MADS_MEMBRE_DU_JURY_2" type="personal">
<tef:personMADS>
<mads:namePart type="family">Costiou</mads:namePart>
<mads:namePart type="given">Steven</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
<tef:MADSAuthority authorityID="MADS_RAPPORTEUR_1" type="personal">
<tef:personMADS>
<mads:namePart type="family">Gonzalez Boix</mads:namePart>
<mads:namePart type="given">Elisa</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
<tef:MADSAuthority authorityID="MADS_RAPPORTEUR_2" type="personal">
<tef:personMADS>
<mads:namePart type="family">Dony</mads:namePart>
<mads:namePart type="given">Christophe</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
<tef:MADSAuthority authorityID="MADS_ECOLE_DOCTORALE_1" type="corporate">
<tef:personMADS>
<mads:namePart type="family">Ecole doctorale Mathématiques, sciences du numérique et de leurs interactions (Lille)</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
<tef:MADSAuthority authorityID="MADS_PARTENAIRE_DE_RECHERCHE_1" type="corporate">
<tef:personMADS>
<mads:namePart type="family">Centre de Recherche en Informatique, Signal et Automatique de Lille</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
<tef:MADSAuthority authorityID="MADS_PARTENAIRE_DE_RECHERCHE_2" type="corporate">
<tef:personMADS>
<mads:namePart type="family">Centre Inria de l'Université de Lille</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
<tef:MADSAuthority authorityID="MADS_PARTENAIRE_DE_RECHERCHE_3" type="corporate">
<tef:personMADS>
<mads:namePart type="family">EVREF</mads:namePart>
</tef:personMADS>
</tef:MADSAuthority>
</tef:thesisAdmin>
</mets:xmlData>
</mets:mdWrap>
</mets:techMD>
<mets:techMD ID="ABES.STAR.THESE_206739.VERSION_COMPLETE.EDITION_ARCHIVAGE.TECH_FICHIER.DOSSIER_1.DOSSIER_1.FICHIER_1">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_tech_fichier">
<mets:xmlData>
<tef:meta_fichier>
<tef:formatFichier>PDF</tef:formatFichier>
<tef:taille>9609435</tef:taille>
</tef:meta_fichier>
</mets:xmlData>
</mets:mdWrap>
</mets:techMD>
<mets:rightsMD ID="ABES.STAR.THESE_206739.DROITS_UNIVERSITE">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_droits_etablissement_these">
<mets:xmlData>
<metsRights:RightsDeclarationMD RIGHTSCATEGORY="CONTRACTUAL">
<metsRights:Context CONTEXTCLASS="GENERAL PUBLIC">
<metsRights:Permissions COPY="false" DELETE="false" DISPLAY="true" DUPLICATE="true" MODIFY="false" PRINT="true"/>
</metsRights:Context>
<metsRights:Context CONTEXTCLASS="INSTITUTIONAL AFFILIATE">
<metsRights:Permissions COPY="false" DELETE="false" DISPLAY="true" DUPLICATE="true" MODIFY="false" PRINT="true"/>
</metsRights:Context>
</metsRights:RightsDeclarationMD>
</mets:xmlData>
</mets:mdWrap>
</mets:rightsMD>
<mets:rightsMD ID="ABES.STAR.THESE_206739.DROITS_DOCTORANT">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_droits_auteur_these">
<mets:xmlData>
<metsRights:RightsDeclarationMD RIGHTSCATEGORY="CONTRACTUAL">
<metsRights:Context CONTEXTCLASS="GENERAL PUBLIC">
<metsRights:Permissions COPY="false" DELETE="false" DISPLAY="true" DUPLICATE="true" MODIFY="false" PRINT="true"/>
</metsRights:Context>
<metsRights:Context CONTEXTCLASS="INSTITUTIONAL AFFILIATE">
<metsRights:Permissions COPY="false" DELETE="false" DISPLAY="true" DUPLICATE="true" MODIFY="false" PRINT="true"/>
</metsRights:Context>
</metsRights:RightsDeclarationMD>
</mets:xmlData>
</mets:mdWrap>
</mets:rightsMD>
<mets:rightsMD ID="ABES.STAR.THESE_206739.VERSION_COMPLETE.DROITS">
<mets:mdWrap MDTYPE="OTHER" OTHERMDTYPE="tef_droits_version">
<mets:xmlData>
<metsRights:RightsDeclarationMD RIGHTSCATEGORY="CONTRACTUAL">
<metsRights:Context CONTEXTCLASS="GENERAL PUBLIC">
<metsRights:Permissions COPY="false" DELETE="false" DISPLAY="true" DUPLICATE="true" MODIFY="false" PRINT="true"/>
</metsRights:Context>
<metsRights:Context CONTEXTCLASS="INSTITUTIONAL AFFILIATE">
<metsRights:Permissions COPY="false" DELETE="false" DISPLAY="true" DUPLICATE="true" MODIFY="false" PRINT="true"/>
</metsRights:Context>
</metsRights:RightsDeclarationMD>
</mets:xmlData>
</mets:mdWrap>
</mets:rightsMD>
</mets:amdSec>
<mets:fileSec>
<mets:fileGrp ID="ABES.STAR.THESE_206739.VERSION_COMPLETE.EDITION_ARCHIVAGE.FILEGRP" USE="archive_et_diffusion">
<mets:file ADMID="ABES.STAR.THESE_206739.VERSION_COMPLETE.EDITION_ARCHIVAGE.TECH_FICHIER.DOSSIER_1.DOSSIER_1.FICHIER_1" ID="ABES.STAR.THESE_206739.VERSION_COMPLETE.EDITION_ARCHIVAGE.DOSSIER_1.DOSSIER_1.FICHIER_1" SEQ="1">
<mets:FLocat LOCTYPE="URL" xlink:href="ULIL/THESE_206739/document/0/0/These_WILLEMBRINCK_SANTANDER_Maximilian.pdf"/>
</mets:file>
</mets:fileGrp>
</mets:fileSec>
<mets:structMap TYPE="logical">
<mets:div ADMID="ABES.STAR.THESE_206739.ADMINISTRATION ABES.STAR.THESE_206739.DROITS_UNIVERSITE ABES.STAR.THESE_206739.DROITS_DOCTORANT" CONTENTIDS="CONTENTIDS.ABES.STAR.THESE_206739" DMDID="ABES.STAR.THESE_206739.DESCRIPTION_BIBLIOGRAPHIQUE" TYPE="THESE">
<mets:div ADMID="ABES.STAR.THESE_206739.VERSION_COMPLETE.DROITS" CONTENTIDS="CONTENTIDS.ABES.STAR.THESE_206739.ABES.STAR.THESE_206739.VERSION_COMPLETE" TYPE="VERSION_COMPLETE">
<mets:div CONTENTIDS="CONTENTIDS.ABES.STAR.THESE_206739.VERSION_COMPLETE.EDITION_ARCHIVAGE" DMDID="ABES.STAR.THESE_206739.VERSION_COMPLETE.DESCRIPTION.EDITION_ARCHIVAGE" TYPE="EDITION">
<mets:fptr FILEID="ABES.STAR.THESE_206739.VERSION_COMPLETE.EDITION_ARCHIVAGE.FILEGRP"/>
</mets:div>
</mets:div>
</mets:div>
</mets:structMap>
</mets:mets>