SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
WARE: a tool for the Reverse
        Engineering of Web Applications


                      Anna Rita Fasolino
     G. A. Di Lucca, F. Pace, P. Tramontana, U. De Carlini

                  Dipartimento di Informatica e Sistemistica
                  University of Naples Federico II, Italy



CSMR 2002, Budapest, Hungary
                                                1
Web Applications (WA):
               problems and open issues

  • The pressing market demand of web applications
      – WAs developed in very short time


  • The continuously changing needs of the evolving
    application domains
      – WAs frequently and rapidly modified with ad hoc approaches

  • The lack of method in producing and maintaining
    Web applications
      – low quality software, with disordered architecture, and
        inadequate and incomplete documentation

CSMR 2002, Budapest, Hungary
                                                      2
Web applications: a recent classification


  • Class 1: primarily static web sites

  • Class 2: sites providing client-side interaction
      – Based on an event model exploiting some script code


  • Class 3: applications with dynamic content
      – Pages are dynamically created on the fly, with the support of
        various WWW rechnologies (CGI, JSP, PHP, Javascript,
        XML, ODBC,…ASP,… )
                                          Tilley and Huang, ICSE 2001


CSMR 2002, Budapest, Hungary
                                                        3
Dynamic web applications


  • Due to the large number of employed technologies,
    understanding, maintaining and evolving a Class 3
    application is a complex task
  • The need for specific Reverse Engineering
    techniques and processes to recover:
      – Static and dynamic aspects of the applications
      – Suitable representation models
  • The need for reverse engineering tools that support
    the extraction and the abstraction of the needed
    information from a WA

CSMR 2002, Budapest, Hungary
                                                     4
Reverse engineering Web Applications

  • A reverse engineering process to recover the
    following views:
      – The static architecture of the WA
      – The dynamic interactions between its components
      – The final behavior offered

  • Extended UML diagrams to represent these views
      – Class diagrams to model the architecture
      – Sequence and Collaboration diagrams to represent the
        dynamic model
      – Use case diagrams to describe the behavior of the WA



CSMR 2002, Budapest, Hungary
                                                   5
The Reverse Engineering process


                            STATIC    Components and
   Web Application                     Direct Relations
                           ANALYSIS
    Source Code                         between them


                                      BEHAVIORAL          Behavioral
                                       ANALYSIS             Model




                           DYNAMIC     Dynamic Interactions
           WA in           ANALYSIS    between Components
         Execution




CSMR 2002, Budapest, Hungary
                                                   6
Views obtainable by static analysis

 •   A coarse grained view:
      – Web pages and Hypertextual links between pages :
      – Pages are distinguished into server and client pages, static and
        dynamic pages, simple and framed pages

 •   A finer grained view:
      – inner page components and relationships
      – input/output form, text box, anchors, scripts, applets, text, images,
        multimedia objects (sounds, movies), …...
      – Page components may be active components (e.g.,scripts or
        applets)
      – The relationships include: submit, build, redirect, include

 •   A UML class diagram representing both views



CSMR 2002, Budapest, Hungary
                                                              7
The meta-model of a WA




CSMR 2002, Budapest, Hungary
                                     8
The WARE tool


• Designed to support the reverse engineering of a WA
     – executes the static analysis of the WA source code
     – populates a repository with the extracted information
     – supports the user in abstracting the WA models


• Three main components:
     – Interface Layer
     – Service Layer
     – Repository



CSMR 2002, Budapest, Hungary
                                                      9
Interface layer
                                        Graphical Visualizer
                             WARE
                              GUI         VCG        Dotty        RIGI


  WARE
Architecture
                          Service Layer
                          Parsers
                                                      IRF Translator
                               HTML     JS
                  WA           ASP                  Query Executor
                 Source                 ….
                  Files        VBS
                                                      UML Diagram
                               PHP                     Abstractor


                           Extractor                           Abstractor




                                       IRF             Diagrams

                                             DBR         Repository


CSMR 2002, Budapest, Hungary
                                                                            10
The Service layer

  • The Extractor component
      – The Extractor parses the WA source code and produces an
        Intermediate Representation Form (IRF)
      – Several distinct parsers (for HTML, JavaScript, VBScript, ASP and
        PHP technologies)
      – New parsers can be added as the technology evolves
  • The Abstractor component
      – It implements abstraction operations necessary for reconstructing
        the more abstract views of the WA
      – It includes three main components
          • A Translator that populates the relational database from the IRF
          • A Query Executor that implements predefined queries over the
            database
          • The UML Diagram Abstractor that produces the class diagrams of a
            WA at various degrees of detail and other relevant information



CSMR 2002, Budapest, Hungary
                                                             11
The conceptual schema of the Repository
      Java Applet        Media         Flash Object       Mail Address         Other Object




                         Web Object                            redirect                                                                                         Server Class
                                                                                                                                    Server Function




  Client Function
                                                        Static Page         Built Page                                   redirect               Server Script
                                                                                                           Web Page

                                                                                                                                                                  Session Variable


                    Client Script                                                         Parameter


                                        Modify Tag              Client Page
                                                                                                                                    Server Page       include                  Server Cookie

                          event
                                                                               Anchor


  Client Module                     HTML Tag
                                                                                                                                             Interface Object
                                                                            Download           Hyperlink

                                                                                                               Submits
                                                                  Form
                                                                                                                         DB Interface         Mail Interface      Server File Interface        Other Interface

                                        Frameset

                                                                                         Generic File
                                                                    Field




                                                      Select      Button      Textarea




                                          Frame
                                                               source


CSMR 2002, Budapest, Hungary
                                                                                                                                                                12
The Interface Layer

  • It provides the user interface for accessing the WARE
    facilities:
       – Reverse Engineering for parsing the WA and producing the
         IRF
       – Comprehension for executing comprehension-related
         activities, such as exploring the inventory of the WA
         components and their source code, computing the
         reachability set of a component, creating clusters of related
         components according to a given clustering criterion
       – Query (Predefined query and Parametric query) for
         activating the Abstractor’s functions, and graphically
         visualizing the recovered information


CSMR 2002, Budapest, Hungary
                                                       13
Computation of
                                                                   the Reachability
                                                                     set of a WA
                                                                     component




Figure 4.4 – b: WA Components reachable starting from a selected
                         component




     Grouping the WA
     components into
     cohesive clusters


CSMR 2002, Budapest, Hungary
                                                                    14
An experiment

  • Carried out for assessing the adequacy of the tool functions in
    supporting maintenance tasks

  • The tool has been used to understand and redocument existing
    WAs

  • An example: A WA implementing a ‘Juridical Laboratory’
      –   201 files, in 19 directories, sizing 4 Mbytes
      –   55 Static Pages (55 HTML files in 10 directories)
      –   19 Server Pages (19 ASP files in 4 directories)
      –   No design documentation available
  • The WARE tool was preliminarly used to perform:
      – The static analysis of the application, and for producing an
        inventory of the WA components

CSMR 2002, Budapest, Hungary
                                                              15
First step: the static analysis


  • Main results:
      – The population of the repository automatically produced by
        the tool
      – The inventory of the WA components
      – Graphical representations of the class diagram of the WA at
        various degrees of detail

          • Coarse-grained representations (including just the pages)
          • Fine-grained representation (including inner page components)




CSMR 2002, Budapest, Hungary
                                                         16
The inventory of the WA components
                      Component type             # Detected
              Server page                            19
              Client Static page                     55
              Client Built page                      14
              External web page                      3
              Client script block                    53
              Function in Client script block        19
              Form                                   11
              Input/ output field                    71
              Submit Operation (POST method)         4
              Submit Operation (GET method)          7
              Anchor to files to be downloaded      111
              Anchor to Hypertextual link            49
              Data File                              61
              Server script block                    76
              Function in Server scripts             4
              Database Interface Object              29
              Mail Interface Object                  3
              Image file                             65
              Redirect operation in server           7
              blocks
CSMR 2002, Budapest, Hungary
                                                              17
The Class diagram of the WA




CSMR 2002, Budapest, Hungary
                                    18
The second phase: formulating and validating
        hypotheses about the WA behavior


  • Driven by the graphical representations, notable sub-graphs
    were looked for (isolated sub-graphs, sub-trees, strongly
    connected components, …)

  • A tentative hypothesis about the behavior implemented by each
    sub-graph was formulated with the support of:
      – the names of the components, their source code analysis, and by
        tracing the application execution

  • Hypotheses were validated by the source code execution




CSMR 2002, Budapest, Hungary
                                                         19
Results from the sub-graph analysis

  • Four isolated sub-graphs
       – Three small ones without static client pages
           • Two of them implemented server-side functions for the web
             administrator (management of the mailing list, and of the
             registered users list)
           • The third one resulted from an incorrectly made maintenance
             operation
       – A large one, rooted in the home page
           • Nine user functions could be associated with nine notable sub-
             graphs contained in it




CSMR 2002, Budapest, Hungary
                                                          20
The sub-graphs in the WA class diagram

                                      Professional Yellow Pages


   Mailing List
                                                         Judicial
                                                         Proceedings
                                                     Judicial
                                                     Case
 News                                                Studies
                   Home
                                                      Web Searching
                               Chat


                                                          Forum


                                      About
CSMR 2002, Budapest, Hungary
                                                    21
Modeling the WA behavior
                  About
                                                                      • A use case was defined and
                                                                        associated with each notable
                      News

                                      Home
                                                                        sub-graph

                      Judicial Case Studies
                                                                              • The scenarios describing the
                                                                                use cases were defined with
     User

                                        Judicial Proceedings
                                                                                the support of the tool (the
                                                                                interactions between objects
                  Web Searching
                                  Professionals Yellow Pages                    involved in the sub-graph
Registered User
                                                               WA Administrator were searched for and
                    Forum                 Mailing List                          analyzed)

                     Chat




  CSMR 2002, Budapest, Hungary
                                                                                           22
Modeling the WA dynamic view




CSMR 2002, Budapest, Hungary
                                   23
Conclusions


  • The experiments we carried out showed that the
    reverse engineering tool WARE can be used to
    support the comprehension of Web Applications to be
    maintained
  • It supports the reconstruction of various UML
    diagrams from undocumented applications:
      – Static views are automatically produced by the tool
      – Behavioral and dynamic views can be semi-automatically
        obtained with the tool assistance
  • A reverse engineering process based on the WARE
    tool could be defined

CSMR 2002, Budapest, Hungary
                                                   24
Future work


  • Specific clustering criteria may support a more
    effective analysis of the class diagrams recovered by
    the tool
  • A clustering approach should take into account both
    the topology of the graphs, and the typology of the
    connections in the graph
  • The automatic clustering of Was will be investigated
    in the context of large size web applications




CSMR 2002, Budapest, Hungary
                                             25

Mais conteúdo relacionado

Mais procurados

[2015/2016] Modern development paradigms
[2015/2016] Modern development paradigms[2015/2016] Modern development paradigms
[2015/2016] Modern development paradigmsIvano Malavolta
 
Keyphrase Extraction And Source Code Similarity Detection- A Survey
Keyphrase Extraction And Source Code Similarity Detection- A Survey Keyphrase Extraction And Source Code Similarity Detection- A Survey
Keyphrase Extraction And Source Code Similarity Detection- A Survey Nakul Sharma
 
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMijfcstjournal
 
Mapping and visualization of source code a survey
Mapping and visualization of source code a surveyMapping and visualization of source code a survey
Mapping and visualization of source code a surveyNakul Sharma
 
J2 EEE SIDES
J2 EEE  SIDESJ2 EEE  SIDES
J2 EEE SIDESbputhal
 
Bill schuck mainframe programmer - 2013 resume
Bill schuck   mainframe programmer - 2013 resumeBill schuck   mainframe programmer - 2013 resume
Bill schuck mainframe programmer - 2013 resumeBill Schuck
 
MarkCampbellResume02
MarkCampbellResume02MarkCampbellResume02
MarkCampbellResume02Mark Campbell
 
OMAR_SANTIAGO_resume_2015
OMAR_SANTIAGO_resume_2015OMAR_SANTIAGO_resume_2015
OMAR_SANTIAGO_resume_2015Omar Santiago
 
Pa 09 N1 Frank Rodenbaugh
Pa 09 N1 Frank RodenbaughPa 09 N1 Frank Rodenbaugh
Pa 09 N1 Frank RodenbaughFrankRodenbaugh
 
IRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET- Cross-Platform Supported E-Learning Mobile ApplicationIRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET- Cross-Platform Supported E-Learning Mobile ApplicationIRJET Journal
 
Project_Report (BARC-Jerin)_final
Project_Report (BARC-Jerin)_finalProject_Report (BARC-Jerin)_final
Project_Report (BARC-Jerin)_finalJerin John
 
PRAVIN_RESUME-7.5+_YR_EXP-JAVA_J2EE
PRAVIN_RESUME-7.5+_YR_EXP-JAVA_J2EEPRAVIN_RESUME-7.5+_YR_EXP-JAVA_J2EE
PRAVIN_RESUME-7.5+_YR_EXP-JAVA_J2EEPravin Singh
 
1989 Joyce: An Object-Oriented Decision Tree Builder
1989 Joyce: An Object-Oriented Decision Tree Builder1989 Joyce: An Object-Oriented Decision Tree Builder
1989 Joyce: An Object-Oriented Decision Tree BuilderBob Marcus
 
Shrey_Kumar_Resume_01072016
Shrey_Kumar_Resume_01072016Shrey_Kumar_Resume_01072016
Shrey_Kumar_Resume_01072016Shrey Kumar
 

Mais procurados (20)

[2015/2016] Modern development paradigms
[2015/2016] Modern development paradigms[2015/2016] Modern development paradigms
[2015/2016] Modern development paradigms
 
Keyphrase Extraction And Source Code Similarity Detection- A Survey
Keyphrase Extraction And Source Code Similarity Detection- A Survey Keyphrase Extraction And Source Code Similarity Detection- A Survey
Keyphrase Extraction And Source Code Similarity Detection- A Survey
 
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEMARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
ARCHITECTURAL FRAMEWORK FOR DEVELOPING COMPONENT BASED GIS SYSTEM
 
Mapping and visualization of source code a survey
Mapping and visualization of source code a surveyMapping and visualization of source code a survey
Mapping and visualization of source code a survey
 
J2 EEE SIDES
J2 EEE  SIDESJ2 EEE  SIDES
J2 EEE SIDES
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
Bill schuck mainframe programmer - 2013 resume
Bill schuck   mainframe programmer - 2013 resumeBill schuck   mainframe programmer - 2013 resume
Bill schuck mainframe programmer - 2013 resume
 
MarkCampbellResume02
MarkCampbellResume02MarkCampbellResume02
MarkCampbellResume02
 
ResumeCurrent
ResumeCurrentResumeCurrent
ResumeCurrent
 
OMAR_SANTIAGO_resume_2015
OMAR_SANTIAGO_resume_2015OMAR_SANTIAGO_resume_2015
OMAR_SANTIAGO_resume_2015
 
Pa 09 N1 Frank Rodenbaugh
Pa 09 N1 Frank RodenbaughPa 09 N1 Frank Rodenbaugh
Pa 09 N1 Frank Rodenbaugh
 
IRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET- Cross-Platform Supported E-Learning Mobile ApplicationIRJET- Cross-Platform Supported E-Learning Mobile Application
IRJET- Cross-Platform Supported E-Learning Mobile Application
 
Ramesh Selenium
Ramesh SeleniumRamesh Selenium
Ramesh Selenium
 
Project_Report (BARC-Jerin)_final
Project_Report (BARC-Jerin)_finalProject_Report (BARC-Jerin)_final
Project_Report (BARC-Jerin)_final
 
Net Resume D Hill
Net Resume D HillNet Resume D Hill
Net Resume D Hill
 
Resume
ResumeResume
Resume
 
Arch java
Arch javaArch java
Arch java
 
PRAVIN_RESUME-7.5+_YR_EXP-JAVA_J2EE
PRAVIN_RESUME-7.5+_YR_EXP-JAVA_J2EEPRAVIN_RESUME-7.5+_YR_EXP-JAVA_J2EE
PRAVIN_RESUME-7.5+_YR_EXP-JAVA_J2EE
 
1989 Joyce: An Object-Oriented Decision Tree Builder
1989 Joyce: An Object-Oriented Decision Tree Builder1989 Joyce: An Object-Oriented Decision Tree Builder
1989 Joyce: An Object-Oriented Decision Tree Builder
 
Shrey_Kumar_Resume_01072016
Shrey_Kumar_Resume_01072016Shrey_Kumar_Resume_01072016
Shrey_Kumar_Resume_01072016
 

Destaque

Mi 291 chapter 3 (reverse engineering)(1)
Mi 291 chapter 3 (reverse engineering)(1)Mi 291 chapter 3 (reverse engineering)(1)
Mi 291 chapter 3 (reverse engineering)(1)varun teja G.V.V
 
2016 Local SEO Ranking Factors Presentation at Rocks Digital 2016
2016 Local SEO Ranking Factors Presentation at Rocks Digital 20162016 Local SEO Ranking Factors Presentation at Rocks Digital 2016
2016 Local SEO Ranking Factors Presentation at Rocks Digital 2016Andrew Shotland
 
Hacking with Reverse Engineering and Defense against it
Hacking with Reverse Engineering and Defense against it Hacking with Reverse Engineering and Defense against it
Hacking with Reverse Engineering and Defense against it Prakashchand Suthar
 
Android reverse engineering: understanding third-party applications. OWASP EU...
Android reverse engineering: understanding third-party applications. OWASP EU...Android reverse engineering: understanding third-party applications. OWASP EU...
Android reverse engineering: understanding third-party applications. OWASP EU...Internet Security Auditors
 
Depurando Java Script - Programador PHP
Depurando Java Script - Programador PHPDepurando Java Script - Programador PHP
Depurando Java Script - Programador PHPJuan Belón Pérez
 
Reverse engineering
Reverse engineeringReverse engineering
Reverse engineeringdspokale25
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5Mohammad Faizan
 
Software reverse engineering
Software reverse engineeringSoftware reverse engineering
Software reverse engineeringParminder Singh
 
Introduction to Reverse Engineering
Introduction to Reverse EngineeringIntroduction to Reverse Engineering
Introduction to Reverse EngineeringGopinath Chintala
 
Past, Present & Future of Recommender Systems: An Industry Perspective
Past, Present & Future of Recommender Systems: An Industry PerspectivePast, Present & Future of Recommender Systems: An Industry Perspective
Past, Present & Future of Recommender Systems: An Industry PerspectiveJustin Basilico
 
Factorization Meets the Item Embedding: Regularizing Matrix Factorization wit...
Factorization Meets the Item Embedding: Regularizing Matrix Factorization wit...Factorization Meets the Item Embedding: Regularizing Matrix Factorization wit...
Factorization Meets the Item Embedding: Regularizing Matrix Factorization wit...Dawen Liang
 
Reverse engineering
Reverse engineeringReverse engineering
Reverse engineeringananya0122
 
(Some) pitfalls of distributed learning
(Some) pitfalls of distributed learning(Some) pitfalls of distributed learning
(Some) pitfalls of distributed learningYves Raimond
 
Balancing Discovery and Continuation in Recommendations
Balancing Discovery and Continuation in RecommendationsBalancing Discovery and Continuation in Recommendations
Balancing Discovery and Continuation in RecommendationsMohammad Hossein Taghavi
 
Reverse engineering & its application
Reverse engineering & its applicationReverse engineering & its application
Reverse engineering & its applicationmapqrs
 
Netflix JavaScript Talks - Scaling A/B Testing on Netflix.com with Node.js
Netflix JavaScript Talks - Scaling A/B Testing on Netflix.com with Node.jsNetflix JavaScript Talks - Scaling A/B Testing on Netflix.com with Node.js
Netflix JavaScript Talks - Scaling A/B Testing on Netflix.com with Node.jsChris Saint-Amant
 

Destaque (18)

Mi 291 chapter 3 (reverse engineering)(1)
Mi 291 chapter 3 (reverse engineering)(1)Mi 291 chapter 3 (reverse engineering)(1)
Mi 291 chapter 3 (reverse engineering)(1)
 
2016 Local SEO Ranking Factors Presentation at Rocks Digital 2016
2016 Local SEO Ranking Factors Presentation at Rocks Digital 20162016 Local SEO Ranking Factors Presentation at Rocks Digital 2016
2016 Local SEO Ranking Factors Presentation at Rocks Digital 2016
 
Hacking with Reverse Engineering and Defense against it
Hacking with Reverse Engineering and Defense against it Hacking with Reverse Engineering and Defense against it
Hacking with Reverse Engineering and Defense against it
 
Android reverse engineering: understanding third-party applications. OWASP EU...
Android reverse engineering: understanding third-party applications. OWASP EU...Android reverse engineering: understanding third-party applications. OWASP EU...
Android reverse engineering: understanding third-party applications. OWASP EU...
 
Depurando Java Script - Programador PHP
Depurando Java Script - Programador PHPDepurando Java Script - Programador PHP
Depurando Java Script - Programador PHP
 
Reverse engineering
Reverse engineeringReverse engineering
Reverse engineering
 
Reverse engineering
Reverse engineeringReverse engineering
Reverse engineering
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
 
Software reverse engineering
Software reverse engineeringSoftware reverse engineering
Software reverse engineering
 
Introduction to Reverse Engineering
Introduction to Reverse EngineeringIntroduction to Reverse Engineering
Introduction to Reverse Engineering
 
Reverse engineering
Reverse engineeringReverse engineering
Reverse engineering
 
Past, Present & Future of Recommender Systems: An Industry Perspective
Past, Present & Future of Recommender Systems: An Industry PerspectivePast, Present & Future of Recommender Systems: An Industry Perspective
Past, Present & Future of Recommender Systems: An Industry Perspective
 
Factorization Meets the Item Embedding: Regularizing Matrix Factorization wit...
Factorization Meets the Item Embedding: Regularizing Matrix Factorization wit...Factorization Meets the Item Embedding: Regularizing Matrix Factorization wit...
Factorization Meets the Item Embedding: Regularizing Matrix Factorization wit...
 
Reverse engineering
Reverse engineeringReverse engineering
Reverse engineering
 
(Some) pitfalls of distributed learning
(Some) pitfalls of distributed learning(Some) pitfalls of distributed learning
(Some) pitfalls of distributed learning
 
Balancing Discovery and Continuation in Recommendations
Balancing Discovery and Continuation in RecommendationsBalancing Discovery and Continuation in Recommendations
Balancing Discovery and Continuation in Recommendations
 
Reverse engineering & its application
Reverse engineering & its applicationReverse engineering & its application
Reverse engineering & its application
 
Netflix JavaScript Talks - Scaling A/B Testing on Netflix.com with Node.js
Netflix JavaScript Talks - Scaling A/B Testing on Netflix.com with Node.jsNetflix JavaScript Talks - Scaling A/B Testing on Netflix.com with Node.js
Netflix JavaScript Talks - Scaling A/B Testing on Netflix.com with Node.js
 

Semelhante a WARE: a tool for the Reverse Engineering of Web Applications

10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural stylesMajong DevJfu
 
Effectively using Nokia Web Tools 2.0 templates for Series 40 web apps
Effectively using Nokia Web Tools 2.0 templates for Series 40 web appsEffectively using Nokia Web Tools 2.0 templates for Series 40 web apps
Effectively using Nokia Web Tools 2.0 templates for Series 40 web appsMicrosoft Mobile Developer
 
Expendables E-AppStore
Expendables E-AppStoreExpendables E-AppStore
Expendables E-AppStorelobalint
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA
 
OreDev 2008: Software + Services
OreDev 2008: Software + ServicesOreDev 2008: Software + Services
OreDev 2008: Software + Servicesukdpe
 
VMware vFabric - CIO Webinar - Al Sargent
VMware vFabric - CIO Webinar - Al SargentVMware vFabric - CIO Webinar - Al Sargent
VMware vFabric - CIO Webinar - Al SargentVMware vFabric
 
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise ArchitecturesBIOVIA
 
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
(ATS3-GS03) Accelrys Enterprise Platform Deeper DiveBIOVIA
 
Building single page applications
Building single page applicationsBuilding single page applications
Building single page applicationsSC5.io
 
SharePoint 2010 as a Development Platform
SharePoint 2010 as a Development PlatformSharePoint 2010 as a Development Platform
SharePoint 2010 as a Development PlatformAyman El-Hattab
 
Sneak peak ca e rwin data modeler r8 preview09222010
Sneak peak ca e rwin data modeler r8 preview09222010Sneak peak ca e rwin data modeler r8 preview09222010
Sneak peak ca e rwin data modeler r8 preview09222010ERwin Modeling
 
Introduction to ejb and struts framework
Introduction to ejb and struts frameworkIntroduction to ejb and struts framework
Introduction to ejb and struts frameworks4al_com
 
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns FrameworksMike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns Frameworksukdpe
 
Wc Mand Connectors2
Wc Mand Connectors2Wc Mand Connectors2
Wc Mand Connectors2day
 
Zeroth review presentation - eBay Turmeric / SMC
Zeroth review presentation - eBay Turmeric / SMCZeroth review presentation - eBay Turmeric / SMC
Zeroth review presentation - eBay Turmeric / SMCArvind Krishnaa
 
WebML and WebRatio 5 - TOOLS conference, Zurich 2008
WebML and WebRatio 5 - TOOLS conference, Zurich 2008WebML and WebRatio 5 - TOOLS conference, Zurich 2008
WebML and WebRatio 5 - TOOLS conference, Zurich 2008Marco Brambilla
 
vFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS AppsvFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS AppsVMware vFabric
 

Semelhante a WARE: a tool for the Reverse Engineering of Web Applications (20)

10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles10 - Architetture Software - More architectural styles
10 - Architetture Software - More architectural styles
 
Effectively using Nokia Web Tools 2.0 templates for Series 40 web apps
Effectively using Nokia Web Tools 2.0 templates for Series 40 web appsEffectively using Nokia Web Tools 2.0 templates for Series 40 web apps
Effectively using Nokia Web Tools 2.0 templates for Series 40 web apps
 
Expendables E-AppStore
Expendables E-AppStoreExpendables E-AppStore
Expendables E-AppStore
 
SPEC INDIA Java Case Study
SPEC INDIA Java Case StudySPEC INDIA Java Case Study
SPEC INDIA Java Case Study
 
OreDev 2008: Software + Services
OreDev 2008: Software + ServicesOreDev 2008: Software + Services
OreDev 2008: Software + Services
 
VMware vFabric - CIO Webinar - Al Sargent
VMware vFabric - CIO Webinar - Al SargentVMware vFabric - CIO Webinar - Al Sargent
VMware vFabric - CIO Webinar - Al Sargent
 
Grottarossa:Why?
Grottarossa:Why?Grottarossa:Why?
Grottarossa:Why?
 
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
(ATS3-GS02) Accelrys Enterprise Platform in Enterprise Architectures
 
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
(ATS3-GS03) Accelrys Enterprise Platform Deeper Dive
 
Ideas for addictive series 40 web apps
Ideas for addictive series 40 web appsIdeas for addictive series 40 web apps
Ideas for addictive series 40 web apps
 
Building single page applications
Building single page applicationsBuilding single page applications
Building single page applications
 
SharePoint 2010 as a Development Platform
SharePoint 2010 as a Development PlatformSharePoint 2010 as a Development Platform
SharePoint 2010 as a Development Platform
 
Sneak peak ca e rwin data modeler r8 preview09222010
Sneak peak ca e rwin data modeler r8 preview09222010Sneak peak ca e rwin data modeler r8 preview09222010
Sneak peak ca e rwin data modeler r8 preview09222010
 
JavaScript MVC Frameworks: Backbone, Ember and Angular JS
JavaScript MVC Frameworks: Backbone, Ember and Angular JSJavaScript MVC Frameworks: Backbone, Ember and Angular JS
JavaScript MVC Frameworks: Backbone, Ember and Angular JS
 
Introduction to ejb and struts framework
Introduction to ejb and struts frameworkIntroduction to ejb and struts framework
Introduction to ejb and struts framework
 
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns FrameworksMike Taulty MIX10 Silverlight 4 Patterns Frameworks
Mike Taulty MIX10 Silverlight 4 Patterns Frameworks
 
Wc Mand Connectors2
Wc Mand Connectors2Wc Mand Connectors2
Wc Mand Connectors2
 
Zeroth review presentation - eBay Turmeric / SMC
Zeroth review presentation - eBay Turmeric / SMCZeroth review presentation - eBay Turmeric / SMC
Zeroth review presentation - eBay Turmeric / SMC
 
WebML and WebRatio 5 - TOOLS conference, Zurich 2008
WebML and WebRatio 5 - TOOLS conference, Zurich 2008WebML and WebRatio 5 - TOOLS conference, Zurich 2008
WebML and WebRatio 5 - TOOLS conference, Zurich 2008
 
vFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS AppsvFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS Apps
 

Mais de Porfirio Tramontana

An Approach for Model Based Testing of Augmented Reality Applications.pdf
An Approach for Model Based Testing of Augmented Reality Applications.pdfAn Approach for Model Based Testing of Augmented Reality Applications.pdf
An Approach for Model Based Testing of Augmented Reality Applications.pdfPorfirio Tramontana
 
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...Porfirio Tramontana
 
Techniques and Tools for Mobile Testing Automation
Techniques and Tools for Mobile Testing AutomationTechniques and Tools for Mobile Testing Automation
Techniques and Tools for Mobile Testing AutomationPorfirio Tramontana
 
A technique for parallel gui testing of android applications
A technique for parallel gui testing of android applicationsA technique for parallel gui testing of android applications
A technique for parallel gui testing of android applicationsPorfirio Tramontana
 
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...Porfirio Tramontana
 
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...Porfirio Tramontana
 
Web Application Testing in Fifteen Years of WSE
Web Application Testing in Fifteen Years of WSEWeb Application Testing in Fifteen Years of WSE
Web Application Testing in Fifteen Years of WSEPorfirio Tramontana
 
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...Porfirio Tramontana
 
Comprehending Web Applications by a Clustering Based Approach
Comprehending Web Applications by a Clustering Based Approach Comprehending Web Applications by a Clustering Based Approach
Comprehending Web Applications by a Clustering Based Approach Porfirio Tramontana
 
Recovering Interaction Design Patterns in Web Applications
Recovering Interaction Design Patterns in Web Applications Recovering Interaction Design Patterns in Web Applications
Recovering Interaction Design Patterns in Web Applications Porfirio Tramontana
 
Improving Usability of Web Pages for Blind
Improving Usability of Web Pages for BlindImproving Usability of Web Pages for Blind
Improving Usability of Web Pages for BlindPorfirio Tramontana
 
Techniques and Tools for Rich Internet Applications Testing
Techniques and Tools for Rich Internet Applications TestingTechniques and Tools for Rich Internet Applications Testing
Techniques and Tools for Rich Internet Applications TestingPorfirio Tramontana
 
Comprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA ToolComprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA ToolPorfirio Tramontana
 
A GUI Crawling-based Technique for Android Mobile Application Testing
A GUI Crawling-based Technique for Android Mobile Application TestingA GUI Crawling-based Technique for Android Mobile Application Testing
A GUI Crawling-based Technique for Android Mobile Application TestingPorfirio Tramontana
 
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...Porfirio Tramontana
 
Considering Context Events in Event-Based Testing of Mobile Applications
Considering Context Events in Event-Based Testing of Mobile Applications Considering Context Events in Event-Based Testing of Mobile Applications
Considering Context Events in Event-Based Testing of Mobile Applications Porfirio Tramontana
 
Using GUI Ripping for Automated Testing of Android Apps
Using GUI Ripping for Automated Testing of Android AppsUsing GUI Ripping for Automated Testing of Android Apps
Using GUI Ripping for Automated Testing of Android AppsPorfirio Tramontana
 
A Toolset for GUI Testing of Android Applications
A Toolset for GUI Testing of Android ApplicationsA Toolset for GUI Testing of Android Applications
A Toolset for GUI Testing of Android ApplicationsPorfirio Tramontana
 
DynaRIA: a Tool for Ajax Web Application Comprehension
DynaRIA: a Tool for Ajax Web Application ComprehensionDynaRIA: a Tool for Ajax Web Application Comprehension
DynaRIA: a Tool for Ajax Web Application ComprehensionPorfirio Tramontana
 
Rich Internet Application Testing Using Execution Trace Data
Rich Internet Application Testing  Using Execution Trace Data Rich Internet Application Testing  Using Execution Trace Data
Rich Internet Application Testing Using Execution Trace Data Porfirio Tramontana
 

Mais de Porfirio Tramontana (20)

An Approach for Model Based Testing of Augmented Reality Applications.pdf
An Approach for Model Based Testing of Augmented Reality Applications.pdfAn Approach for Model Based Testing of Augmented Reality Applications.pdf
An Approach for Model Based Testing of Augmented Reality Applications.pdf
 
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
Towards the Generation of Robust E2E Test Cases in Template-based Web Applica...
 
Techniques and Tools for Mobile Testing Automation
Techniques and Tools for Mobile Testing AutomationTechniques and Tools for Mobile Testing Automation
Techniques and Tools for Mobile Testing Automation
 
A technique for parallel gui testing of android applications
A technique for parallel gui testing of android applicationsA technique for parallel gui testing of android applications
A technique for parallel gui testing of android applications
 
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
Reverse Engineering of Data Models from Legacy Spreadsheets-Based Systems: An...
 
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
Reverse Engineering Techniques: from Web Applications to Rich Internet Applic...
 
Web Application Testing in Fifteen Years of WSE
Web Application Testing in Fifteen Years of WSEWeb Application Testing in Fifteen Years of WSE
Web Application Testing in Fifteen Years of WSE
 
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
Towards a Better Comprehensibility of Web Applications: Lessons Learned from ...
 
Comprehending Web Applications by a Clustering Based Approach
Comprehending Web Applications by a Clustering Based Approach Comprehending Web Applications by a Clustering Based Approach
Comprehending Web Applications by a Clustering Based Approach
 
Recovering Interaction Design Patterns in Web Applications
Recovering Interaction Design Patterns in Web Applications Recovering Interaction Design Patterns in Web Applications
Recovering Interaction Design Patterns in Web Applications
 
Improving Usability of Web Pages for Blind
Improving Usability of Web Pages for BlindImproving Usability of Web Pages for Blind
Improving Usability of Web Pages for Blind
 
Techniques and Tools for Rich Internet Applications Testing
Techniques and Tools for Rich Internet Applications TestingTechniques and Tools for Rich Internet Applications Testing
Techniques and Tools for Rich Internet Applications Testing
 
Comprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA ToolComprehending Ajax Web Applications by the DynaRIA Tool
Comprehending Ajax Web Applications by the DynaRIA Tool
 
A GUI Crawling-based Technique for Android Mobile Application Testing
A GUI Crawling-based Technique for Android Mobile Application TestingA GUI Crawling-based Technique for Android Mobile Application Testing
A GUI Crawling-based Technique for Android Mobile Application Testing
 
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Appl...
 
Considering Context Events in Event-Based Testing of Mobile Applications
Considering Context Events in Event-Based Testing of Mobile Applications Considering Context Events in Event-Based Testing of Mobile Applications
Considering Context Events in Event-Based Testing of Mobile Applications
 
Using GUI Ripping for Automated Testing of Android Apps
Using GUI Ripping for Automated Testing of Android AppsUsing GUI Ripping for Automated Testing of Android Apps
Using GUI Ripping for Automated Testing of Android Apps
 
A Toolset for GUI Testing of Android Applications
A Toolset for GUI Testing of Android ApplicationsA Toolset for GUI Testing of Android Applications
A Toolset for GUI Testing of Android Applications
 
DynaRIA: a Tool for Ajax Web Application Comprehension
DynaRIA: a Tool for Ajax Web Application ComprehensionDynaRIA: a Tool for Ajax Web Application Comprehension
DynaRIA: a Tool for Ajax Web Application Comprehension
 
Rich Internet Application Testing Using Execution Trace Data
Rich Internet Application Testing  Using Execution Trace Data Rich Internet Application Testing  Using Execution Trace Data
Rich Internet Application Testing Using Execution Trace Data
 

Último

Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 

Último (20)

Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 

WARE: a tool for the Reverse Engineering of Web Applications

  • 1. WARE: a tool for the Reverse Engineering of Web Applications Anna Rita Fasolino G. A. Di Lucca, F. Pace, P. Tramontana, U. De Carlini Dipartimento di Informatica e Sistemistica University of Naples Federico II, Italy CSMR 2002, Budapest, Hungary 1
  • 2. Web Applications (WA): problems and open issues • The pressing market demand of web applications – WAs developed in very short time • The continuously changing needs of the evolving application domains – WAs frequently and rapidly modified with ad hoc approaches • The lack of method in producing and maintaining Web applications – low quality software, with disordered architecture, and inadequate and incomplete documentation CSMR 2002, Budapest, Hungary 2
  • 3. Web applications: a recent classification • Class 1: primarily static web sites • Class 2: sites providing client-side interaction – Based on an event model exploiting some script code • Class 3: applications with dynamic content – Pages are dynamically created on the fly, with the support of various WWW rechnologies (CGI, JSP, PHP, Javascript, XML, ODBC,…ASP,… ) Tilley and Huang, ICSE 2001 CSMR 2002, Budapest, Hungary 3
  • 4. Dynamic web applications • Due to the large number of employed technologies, understanding, maintaining and evolving a Class 3 application is a complex task • The need for specific Reverse Engineering techniques and processes to recover: – Static and dynamic aspects of the applications – Suitable representation models • The need for reverse engineering tools that support the extraction and the abstraction of the needed information from a WA CSMR 2002, Budapest, Hungary 4
  • 5. Reverse engineering Web Applications • A reverse engineering process to recover the following views: – The static architecture of the WA – The dynamic interactions between its components – The final behavior offered • Extended UML diagrams to represent these views – Class diagrams to model the architecture – Sequence and Collaboration diagrams to represent the dynamic model – Use case diagrams to describe the behavior of the WA CSMR 2002, Budapest, Hungary 5
  • 6. The Reverse Engineering process STATIC Components and Web Application Direct Relations ANALYSIS Source Code between them BEHAVIORAL Behavioral ANALYSIS Model DYNAMIC Dynamic Interactions WA in ANALYSIS between Components Execution CSMR 2002, Budapest, Hungary 6
  • 7. Views obtainable by static analysis • A coarse grained view: – Web pages and Hypertextual links between pages : – Pages are distinguished into server and client pages, static and dynamic pages, simple and framed pages • A finer grained view: – inner page components and relationships – input/output form, text box, anchors, scripts, applets, text, images, multimedia objects (sounds, movies), …... – Page components may be active components (e.g.,scripts or applets) – The relationships include: submit, build, redirect, include • A UML class diagram representing both views CSMR 2002, Budapest, Hungary 7
  • 8. The meta-model of a WA CSMR 2002, Budapest, Hungary 8
  • 9. The WARE tool • Designed to support the reverse engineering of a WA – executes the static analysis of the WA source code – populates a repository with the extracted information – supports the user in abstracting the WA models • Three main components: – Interface Layer – Service Layer – Repository CSMR 2002, Budapest, Hungary 9
  • 10. Interface layer Graphical Visualizer WARE GUI VCG Dotty RIGI WARE Architecture Service Layer Parsers IRF Translator HTML JS WA ASP Query Executor Source …. Files VBS UML Diagram PHP Abstractor Extractor Abstractor IRF Diagrams DBR Repository CSMR 2002, Budapest, Hungary 10
  • 11. The Service layer • The Extractor component – The Extractor parses the WA source code and produces an Intermediate Representation Form (IRF) – Several distinct parsers (for HTML, JavaScript, VBScript, ASP and PHP technologies) – New parsers can be added as the technology evolves • The Abstractor component – It implements abstraction operations necessary for reconstructing the more abstract views of the WA – It includes three main components • A Translator that populates the relational database from the IRF • A Query Executor that implements predefined queries over the database • The UML Diagram Abstractor that produces the class diagrams of a WA at various degrees of detail and other relevant information CSMR 2002, Budapest, Hungary 11
  • 12. The conceptual schema of the Repository Java Applet Media Flash Object Mail Address Other Object Web Object redirect Server Class Server Function Client Function Static Page Built Page redirect Server Script Web Page Session Variable Client Script Parameter Modify Tag Client Page Server Page include Server Cookie event Anchor Client Module HTML Tag Interface Object Download Hyperlink Submits Form DB Interface Mail Interface Server File Interface Other Interface Frameset Generic File Field Select Button Textarea Frame source CSMR 2002, Budapest, Hungary 12
  • 13. The Interface Layer • It provides the user interface for accessing the WARE facilities: – Reverse Engineering for parsing the WA and producing the IRF – Comprehension for executing comprehension-related activities, such as exploring the inventory of the WA components and their source code, computing the reachability set of a component, creating clusters of related components according to a given clustering criterion – Query (Predefined query and Parametric query) for activating the Abstractor’s functions, and graphically visualizing the recovered information CSMR 2002, Budapest, Hungary 13
  • 14. Computation of the Reachability set of a WA component Figure 4.4 – b: WA Components reachable starting from a selected component Grouping the WA components into cohesive clusters CSMR 2002, Budapest, Hungary 14
  • 15. An experiment • Carried out for assessing the adequacy of the tool functions in supporting maintenance tasks • The tool has been used to understand and redocument existing WAs • An example: A WA implementing a ‘Juridical Laboratory’ – 201 files, in 19 directories, sizing 4 Mbytes – 55 Static Pages (55 HTML files in 10 directories) – 19 Server Pages (19 ASP files in 4 directories) – No design documentation available • The WARE tool was preliminarly used to perform: – The static analysis of the application, and for producing an inventory of the WA components CSMR 2002, Budapest, Hungary 15
  • 16. First step: the static analysis • Main results: – The population of the repository automatically produced by the tool – The inventory of the WA components – Graphical representations of the class diagram of the WA at various degrees of detail • Coarse-grained representations (including just the pages) • Fine-grained representation (including inner page components) CSMR 2002, Budapest, Hungary 16
  • 17. The inventory of the WA components Component type # Detected Server page 19 Client Static page 55 Client Built page 14 External web page 3 Client script block 53 Function in Client script block 19 Form 11 Input/ output field 71 Submit Operation (POST method) 4 Submit Operation (GET method) 7 Anchor to files to be downloaded 111 Anchor to Hypertextual link 49 Data File 61 Server script block 76 Function in Server scripts 4 Database Interface Object 29 Mail Interface Object 3 Image file 65 Redirect operation in server 7 blocks CSMR 2002, Budapest, Hungary 17
  • 18. The Class diagram of the WA CSMR 2002, Budapest, Hungary 18
  • 19. The second phase: formulating and validating hypotheses about the WA behavior • Driven by the graphical representations, notable sub-graphs were looked for (isolated sub-graphs, sub-trees, strongly connected components, …) • A tentative hypothesis about the behavior implemented by each sub-graph was formulated with the support of: – the names of the components, their source code analysis, and by tracing the application execution • Hypotheses were validated by the source code execution CSMR 2002, Budapest, Hungary 19
  • 20. Results from the sub-graph analysis • Four isolated sub-graphs – Three small ones without static client pages • Two of them implemented server-side functions for the web administrator (management of the mailing list, and of the registered users list) • The third one resulted from an incorrectly made maintenance operation – A large one, rooted in the home page • Nine user functions could be associated with nine notable sub- graphs contained in it CSMR 2002, Budapest, Hungary 20
  • 21. The sub-graphs in the WA class diagram Professional Yellow Pages Mailing List Judicial Proceedings Judicial Case News Studies Home Web Searching Chat Forum About CSMR 2002, Budapest, Hungary 21
  • 22. Modeling the WA behavior About • A use case was defined and associated with each notable News Home sub-graph Judicial Case Studies • The scenarios describing the use cases were defined with User Judicial Proceedings the support of the tool (the interactions between objects Web Searching Professionals Yellow Pages involved in the sub-graph Registered User WA Administrator were searched for and Forum Mailing List analyzed) Chat CSMR 2002, Budapest, Hungary 22
  • 23. Modeling the WA dynamic view CSMR 2002, Budapest, Hungary 23
  • 24. Conclusions • The experiments we carried out showed that the reverse engineering tool WARE can be used to support the comprehension of Web Applications to be maintained • It supports the reconstruction of various UML diagrams from undocumented applications: – Static views are automatically produced by the tool – Behavioral and dynamic views can be semi-automatically obtained with the tool assistance • A reverse engineering process based on the WARE tool could be defined CSMR 2002, Budapest, Hungary 24
  • 25. Future work • Specific clustering criteria may support a more effective analysis of the class diagrams recovered by the tool • A clustering approach should take into account both the topology of the graphs, and the typology of the connections in the graph • The automatic clustering of Was will be investigated in the context of large size web applications CSMR 2002, Budapest, Hungary 25