Liens externes
  • Répertoires
  • Facultés
  • Bibliothèques
  • Plan campus
  • Sites A-Z
  • Mon UdeM
    • Portail Mon UdeM
    • Mon courriel
    • StudiUM
Dessin du pavillon Roger Gaudry/Sketch of Roger Gaudry Building
Site d'accueil de l'UniversitéSite d'accueil de l'UniversitéSite d'accueil de l'Université
Papyrus : Dépôt institutionnel
Papyrus
Dépôt institutionnel
Papyrus
    • français
    • English
  • français 
    • français
    • English
  • Ouvrir une session
  • français 
    • français
    • English
  • Ouvrir une session
Voir le document 
  •   Accueil
  • Faculté des arts et des sciences
  • Faculté des arts et des sciences – Département d'informatique et de recherche opérationnelle
  • Faculté des arts et des sciences – Département d'informatique et de recherche opérationnelle - Thèses et mémoires
  • Voir le document
  •   Accueil
  • Faculté des arts et des sciences
  • Faculté des arts et des sciences – Département d'informatique et de recherche opérationnelle
  • Faculté des arts et des sciences – Département d'informatique et de recherche opérationnelle - Thèses et mémoires
  • Voir le document
JavaScript is disabled for your browser. Some features of this site may not work without it.

Mon compte

Pour soumettre un document ou s'abonner à des alertes courriels
Ouvrir une session
Nouvel utilisateur?

Parcourir

Tout PapyrusCommunautés et CollectionsTitresDates de publicationAuteursDirecteurs de rechercheSujetsProgrammesAffiliationIndex des titresCette collectionTitresDates de publicationAuteursDirecteurs de rechercheSujetsProgrammesAffiliationIndex des titres

Statistiques

Données d'utilisation
Afficher les métadonnées
Permalien: http://hdl.handle.net/1866/9993

Rétro ingénierie des modèles d’objets dynamiques pour JavaScript

Thèse ou mémoire
Vignette
Boudraa_Dalil_2013_memoire.pdf (1.465Mo)
2013-05 (octroi du grade: 2013-09-03)
Auteur(s)
Boudraa, Dalil
Directeur(s) de recherche
Dufour, Bruno
Cycle d'études
Maîtrise
Programme
Informatique
Mots-clés
  • Analyse de programmes
  • Analyse Dynamique
  • JavaScript
  • Profilage
  • Program Analysis
  • Dynamic Analysis
  • Profiling
  • Applied Sciences - Computer Science / Sciences appliqués et technologie - Informatique (UMI : 0984)
Résumé(s)
La compréhension des objets dans les programmes orientés objet est une tâche impor- tante à la compréhension du code. JavaScript (JS) est un langage orienté-objet dyna- mique, et son dynamisme rend la compréhension du code source très difficile. Dans ce mémoire, nous nous intéressons à l’analyse des objets pour les programmes JS. Notre approche construit de façon automatique un graphe d’objets inspiré du diagramme de classes d’UML à partir d’une exécution concrète d’un programme JS. Le graphe résul- tant montre la structure des objets ainsi que les interactions entre eux. Notre approche utilise une transformation du code source afin de produire cette in- formation au cours de l’exécution. Cette transformation permet de recueillir de l’infor- mation complète au sujet des objets crées ainsi que d’intercepter toutes les modifications de ces objets. À partir de cette information, nous appliquons plusieurs abstractions qui visent à produire une représentation des objets plus compacte et intuitive. Cette approche est implémentée dans l’outil JSTI. Afin d’évaluer l’utilité de l’approche, nous avons mesuré sa performance ainsi que le degré de réduction dû aux abstractions. Nous avons utilisé les dix programmes de réfé- rence de V8 pour cette comparaison. Les résultats montrent que JSTI est assez efficace pour être utilisé en pratique, avec un ralentissement moyen de 14x. De plus, pour 9 des 10 programmes, les graphes sont suffisamment compacts pour être visualisés. Nous avons aussi validé l’approche de façon qualitative en inspectant manuellement les graphes gé- nérés. Ces graphes correspondent généralement très bien au résultat attendu. Mots clés: Analyse de programmes, analyse dynamique, JavaScript, profilage.
 
Understanding of objects in object-oriented programs is an important task for understanding the code. JavaScript (JS) is a dynamic object-oriented language, Its dynamic nature makes understanding its source code very difficult. In this thesis, we focus on object analysis in JS programs to automatically produce a graph of objects inspired by UML class diagrams from an execution trace. The resulting graph shows the structure of the objects as well as their interconnections. Our approach uses a source-to-source transformation of the original code in order to collect information at runtime. This transformation makes it possible to collect complete information with respect to object creations and property updates. From this information, we perform multiple abstractions that aim to generate a more compact and intuitive representation of objects. This approach has been implemented in the JSTI prototype. To evaluate our approach, we measured its performance and the graph compression achieved by our abstractions. We used the ten V8 benchmarks for this purpose. Results show that JSTI is efficient enough to be used in practice, with an average slowdown of around 14x. Moreover, for 9 out of the 10 studied programs, the generated object graphs are sufficiently small to be visualized directly by developers. We have also performed a qualitative validation of the approach by manually inspecting the generated graphs. We have found that the graphs generated by JSTI generally correspond very closely to the expected results. Keywords: Program analysis, dynamic analysis, JavaScript, profiling.
Collections
  • Thèses et mémoires électroniques de l’Université de Montréal [18368]
  • Faculté des arts et des sciences – Département d'informatique et de recherche opérationnelle - Thèses et mémoires [815]

DSpace software [version 5.8 XMLUI], copyright © 2002-2015  DuraSpace
Contactez-nous | Faire parvenir un commentaire
Certificat SSL / SSL Certificate
les bibliothèques/UdeM
  • Urgence
  • Offres d'emploi
  • Mon courriel
  • StudiUM
  • iTunes U
  • Nous écrire
  • Facebook
  • YouTube
  • Twitter
  • Fils des nouvelles UdeM
 

 


DSpace software [version 5.8 XMLUI], copyright © 2002-2015  DuraSpace
Contactez-nous | Faire parvenir un commentaire
Certificat SSL / SSL Certificate
les bibliothèques/UdeM
  • Urgence
  • Offres d'emploi
  • Mon courriel
  • StudiUM
  • iTunes U
  • Nous écrire
  • Facebook
  • YouTube
  • Twitter
  • Fils des nouvelles UdeM