Reverse engineering Web applications: the WARE approch - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Reverse engineering Web applications: the WARE approch

Description:

Diagramme de classe est d duis a partir des r sultas des analystes statiques et dynamiques (une page est classe avec des st r otypes Static page' ... – PowerPoint PPT presentation

Number of Views:130
Avg rating:3.0/5.0
Slides: 19
Provided by: Moha242
Category:

less

Transcript and Presenter's Notes

Title: Reverse engineering Web applications: the WARE approch


1
Reverse engineering Web applications the WARE
approch
  • Introduction
  • Modèle des application Web
  • paradigme Objectif/modèles/outils
  • Processus WARE
  • Exemples
  • Conclusion

2
Introduction
  • Problématique
  • Les applications Web sont faites avec différentes
    technologies (ASP, JSP, PHP)
  • Elles présentent une structure complexe qui
    consiste a un ensemble de composants hétérogènes
    (HTML, scripts ,BDD)
  • Elle peuvent inclure des composants logiciels
    statiques ou dynamiques
  • Les composants dune application Web peuvent
    résider dans différents lieux (modèle
    Client-side/server-side)
  • Elles sont de plus en plus complexes

3
Introduction
  • Objectif
  • Trouver à partir du code dune application
    des outils et mécanismes permettant de mieux
    comprendre sa structure et son comportement
  • Outil Reverse Engineering
  • Processus danalyse dun système pour
    identifier ses composant et leurs dépendances et
    de créer une représentation de ce système dans
    une autre forme ou une abstraction de haut
    niveau . Chikofsky
  • The process of analysing a subject system to
    identifier the systems components and their
    interrelationships and create representations of
    the system in another formor at ahigher level of
    abstraction  

4
Paradigme Objectif/modèles/outils
  • WARE Web Application Reverse Engineering
  • Goals
  • Maintenance des applications non documentés
  • Fournir des aperçus sur larchitecture et la
    conception de haut niveau
  • Models
  • Cas dutilisations
  • Diagrammes de classes
  • Diagrammes de séquences et collaborations
  • Tools
  • Des parseurs multi-langages
  • Des algorithmes des gestions de graphes

5
Model Conceptuel
  • Site Web
  • Application Web
  • 3 Classe des applications Web
  • Classe 1 applications statiques implantée en
    HTML (pas dinteraction avec les usagers)
  • Classe 2 applications statiques avec
    interactions DHTML
  • Classe 3 applications avec un contenu dynamique
  • Complexité des applications Web

6
Model Conceptuel
7
Processus WARE (1)
  • 4 Etapes

WA
WA components and direct relations
Static Analysis
Source Code
Class Diagrams
UML Abstraction
Clustering
Use case Diagrams
Sequence Diagrams
Dynamic Analysis
WA in execution
Dynamic relations
8
Processus WARE (2) Lanalyse statique
  • Inventaire des différentes entités de
    lapplication et leurs relations
  • Identifier les page, formulaires, scripts,
  • Identifier les instructions qui produisent des
    liens, redirections, soumission
  • Générer un fichier XML et GXL

9
Processus WARE (3) Analyse Dynamique
  • Réalisée par lobservation de lexécution de
    lapplication (Visualisation des pages/frames,
    formulaires, traversées des lien,)
  • Permet denregistrer les différents liaisons
    entre les entités de lapplications
  • Enregistrer les événements observés avec les
    entités du code qui les déclenchent.
  • Complète, vérifie et valide lanalyse statique

10
Processus WARE (4) Regroupement automatique
  • Graphe de dépendance très large
  • Réduire le graphe de dépendance de lapplication
  • Regrouper les entités dans des Cluster en
    utilisant un algorithme de regroupement
    hiérarchique.

11
Processus WARE (5)Abstraction des diagrammes UML
  • Diagramme de classe est déduis a partir des
    résultas des analystes statiques et dynamiques
    (une page est classe avec des stéréotypes Static
    page,..)
  • Attribues variables référencées
  • Méthodes fonctions et scripts
  • Les relations entre les classes sont les liens
    (link, buil, redirect,..)
  • Diagramme des cas dutilisation est déduis a
    partir des regroupement (étape précédente)
  • Un diagramme de cas dutilisation correspond a
    une Cluster
  • Les relations sont celles qui existe entre le
    clusters
  • Un lien entre deux cluster A et B est lien
    Include probable entre les deux cas des
    utilisations
  • Si un cluster est relié à dautres clusters, ce
    lien est un Extend probable

12
Processus WARE (5)Abstraction des diagrammes UML
  • Diagramme de séquence
  • chaque cluster correspond a un diagramme de
    séquence qui est un cas dutilisation
  • Interactions entres objets sont déduites a partir
    des relations entres les entités du cluster
  • Les messages inter changés entre les objets
    peuvent être libelles avec laction (link,
    submit,..).

13
Exemples
  • Exemples utilisés
  • WA1 activités dun cours du BAC
  • WA2 activités dun travail de recherche
  • WA3 site Web personnel
  • WA4 activités des études historiques dune
    société
  • WA5 site Web personnel
  • WA6 guide de référence en ligne dune langage
    de programmation

14
Résultats (1)
15
Résultats (2)
16
Résultats (3)
17
Résultats (4)
18
Conclusion
  • Travail en progression
  • Cest bien pour les petites applications
  • Pour les application dynamique, ça prend
    lintervention manuelle du developer
Write a Comment
User Comments (0)
About PowerShow.com