SlideShare une entreprise Scribd logo
1  sur  14
Experimenting a Reverse Engineering
         Technique for Modelling
the Behaviour of Rich Internet Applications


          Domenico Amalfitano
          Anna Rita Fasolino
          Porfirio Tramontana

          Dipartimento di Informatica e Sistemistica
          Universita' degli Studi di Napoli, Federico II
          Naples, Italy

          {domenico.amalfitano, fasolino, ptramont}@unina.it
Motivation
• Modern Rich Internet Applications (RIAs) usually offer
  complex GUIs to their users

• Reverse Engineering of models describing the
  behaviour of existing RIA GUIs can be necessary in
  different contexts:
   – Testing
   – Comprehension, Maintenance and Reengineering
   – Automatic crawling of RIAs
 • We proposed and experimented with:
    a tool-supported technique, based on dynamic
    analysis, for reverse engineering a Finite State
    Machine (FSM) model of the RIA GUI behaviour.
FSM Model and the Reverse
                         Engineering Technique
1.       FSM is used to represent an RIA behaviour.
2.       FSM represents all the elaboration states where the RIA receives any input
         solicitation by its user.
3.       Each state of the RIA is described by the client Interface shown to the user at that
         interaction time.
4.       Each client interface is characterized only by the sub-set of its active widgets that are
         ‘clickable’ or, more in general, that have a registered event listener and a
         corresponding event handler.
5.       Transitions are associated with user interactions that trigger the RIA migration
         towards the new state.

                                                                                The UML class diagram showing the
                           FSM
                                                                                  information characterizing the
                                                                                  proposed FSM model of an RIA
                                 *
                               1     1
                                                                   *
                + prev St at e           Client I nt er face           Widget
                     1
                        1 + next
                                                                          1


                    0..1             1          Ev ent         *
     Tr ansit ion
                                           + Event Handler
The Reverse Engineering Technique
         The proposed Reverse Engineering Technique for obtaining a
         FSM-based model of the RIA behaviour includes four sequential
         steps:
1.       Execution trace collection
     •      A set of traces exercising the RIA behaviours is collected;
     •      Each trace is made up of Client interface DOMs and user events fired
            on these DOMs.
2.       Trace analysis and classification
     •      Three interface classification techniques are used to cluster into
            equivalent states the collected interfaces.
     •      User events between consecutive interfaces are associated to
            transitions between states.
3.       FSM model validation
     •      The abstracted FSM model is compared against a Gold Standard
            (GS) one expected by an expert.
Client Interface Collection 1/2
During the trace collection, each Client Interface is characterized by the following
subsets of widgets :
- All the widgets with an event handler.
- All the widgets on which the user can fire an event handler



                                    1
                                               An Example of Client Interface and
                   2
                                               the selected widgets:

                                                    1 – Form
                                                    2 – Button
                                                    3 – Button
     3
                                                    4 – Button
     4                 5                            5 – Button
                                                    6 – Link
     6
                                                    7 – Link

     7
Client Interface Collection 2/2
    Each widget of the Client Interface is characterized by some of its attributes, its
    Xpath and unindexed Xpath.
         Id_widget     Attribute               Value                        Xpath                          Unindexed xpath       Active

1      5482           action       #                       /html[2]/body[1]/form[1]                  /html/body/form            true

       5475           type         button                  /html[2]/body[1]/form[1]/input[3]         /html/body/form/input      true

2
       5475           onclick      "avvia()"               /html[2]/body[1]/form[1]/input[3]         /html/body/form/input      true


       5476           type         button                  /html[2]/body[1]/div[1]/div[1]/input[1]   /html/body/div/div/input   true

3
       5476           onclick      "new_link()"            /html[2]/body[1]/div[1]/div[1]/input[1]   /html/body/div/div/input   true


       5477           type         button                  /html[2]/body[1]/div[1]/div[2]/input[1]   /html/body/div/div/input   true

4      5477           onclick      "gest ('users.xml')"    /html[2]/body[1]/div[1]/div[2]/input[1]   /html/body/div/div/input   true


       5478           type         button                  /html[2]/body[1]/div[1]/div[2]/input[2]   /html/body/div/div/input   false

5      5478           onclick      "gest (‘admins.xml')"   /html[2]/body[1]/div[1]/div[2]/input[2]   /html/body/div/div/input   false


6      5479           href         page1.html              /html[2]/body[1]/div[2]/a[1]              /html/body/div/a           true

       5480           href         page2.html              /html[2]/body[1]/div[2]/a[1]              /html/body/div/a           true
7

         Table reporting captured attributes of the Example client interface
Interface Classification Techniques
Three interface classification criteria are used to assess the equivalence of two
interfaces:
- C1) two interfaces are equivalent if they have the same number of widgets
with the same subset of attributes.
- C2) two interfaces are equivalent if they have the same number of enabled widgets
with the same subset of attributes.
- C3) two interfaces are equivalent if they contains the same set of lists, containing
the same widgets.
                                                                                        - Interface I1 is equivalent to
                                                                                        interface I2 according to C1,
                                                                                        while they are not
                                                                                        equivalent according to C2



                                                                                        - Interface I2 is equivalent to
          This widget make                                                              interface I3 according to
          the difference for C1
                                                 This widget make
                                                                                        C3, while they are not
                                                 the difference for C2   Interface I3   equivalent according to
    Interface I1                  Interface I2
                                                                                        C2
FSM Validation Technique
•      The classification of the collected
       interfaces provides a partition of the set of
       interfaces

•      In order to assess the effectiveness of the
       clustering criteria, the edit distance
       between the produced partition and the
       one proposed by an expert is automatically
       evaluated by the CReRIA tool

•      The effectiveness of the process of
       abstracting the correct FSM model is
       measured by the edit distance, using the
       following metric:

      Correct Interface Ratio (CIR) metric:
            CIR (M) = 1- d(M, O)/ |I|

    where CIR= 100% indicates that M and O partitions
                      are identical.

                                                        Edit distance = 3
The CReRia tool
• CReRia is a Java-based integrated environment,
  supporting the execution of the proposed reverse
  engineering technique.

• Its user interface provides:

1. A Browser Emulator – a Mozilla browser for navigating the subject RIA
2. A Panel for Starting and executing the Session of trace collection
3. A Panel for building the GS during the RIA navigation session
4. A Panel for validating the Reverse Engineering results.
The CReRia tool GUI
1                                                    2




                                                     3




                                                         4




    Available at
    http://wpage.unina.it/ptramont/downloads.htm


      The CReRia Tool is developed in Java & MySql
Experiment
• Goals of the experiment:
    (1) assessing the technique effectiveness
    (2) comparing the effectiveness of different interface equivalence criteria

• Experimental Materials : (four involved RIAs)
    W1: http://app.ess.ch/tudu/welcome.action
    W2: http://www.pikipimp.com
    W3: http://www.agavegroup.com/agWork/theList/theListWrapper.php
    W4: http://www.buttonator.com

• Experimental Procedure:
    • For each RIA, 2 authors acted as experts and produced the Gold Standard
    model
    • The reverse engineering process was executed by 5 undergraduate students:
         • Several traces were collected for each RIA
         • The tool classified the trace equivalent interfaces and produced the FSMs
         • The tool compared each obtained FSM against the Gold Standard model
           using the CIR metric
Subject Application
                                        Experimental Results


                                                          Gold Standard States




                                                                                                                       Collected User Session Traces
                                                                                       Gold Standard Transitions




                                                                                                                                                            Collected Interfaces



                                                                                                                                                                                    Best Criterion




                                                                                                                                                                                                          Edit Distance
                            Use Cases



                                              Scenarios




                                                                                                                                                                                                                               Interface
                                                                                                                                                                                                                                Correct
                                                                                                                                                                                                                                 Ratio
      W1                                8          17                            15                        52                                          30                1885                        C3                   14     85%
      W2                                1             2                          4                         16                                          8                      533                    C3                   8      65%
      W3                                3          10                            4                                 9                                   11                     731                    C3                   0     100%
      W4                                                                                                                                                                                             C2                   0     100%
•   In the first                        1
                                        two     8
                                              casesGS C3        19
                                                               (W1
                                                       models 23
                                                               where62%
                                                                      quite           and54
                                                                                          W2)                                         11    829
                                                                                                                                    the FSM and
    similar (cfr. 85% and 65% values of CIR)
•   In the other two cases (W3 and W4) the FSM and GS models where identical
    (CIR=100%), but they were obtained using different equivalence criteria (C3
    and C2)
A FSM     The FSM of (W1) Tudu after the execution
          of the reverse engineering process
Example   (http://app.ess.ch/tudu/welcome.action )
Conclusions
• The proposed Reverse Engineering technique showed its
  effectiveness in reconstructing a FSM model of RIAs which is very
  similar to the one produced by an expert of the RIA.
• The technique exploits structural/ behavioural interface equivalence
  criteria which do not require the choice of any similarity threshold
• Experiments showed that the most effective criterion depends on
  the characteristics of analysed RIA client interfaces.

•   Future improvements:
    • An interactive process that puts together the interface collection and
      validation phases of the process
        • The proposed criteria are used to generate suggestions about the
          equivalence between FSM states
    • Automatic generation of Test Suites for covering the states of the FSM
      model

Contenu connexe

En vedette

Web Pages Classification using Concept Analysis
Web Pages Classification using Concept Analysis Web Pages Classification using Concept Analysis
Web Pages Classification using Concept Analysis Porfirio 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
 
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
 
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 a Business Object Model from Web Applications
Recovering a Business Object Model from Web ApplicationsRecovering a Business Object Model from Web Applications
Recovering a Business Object Model from Web ApplicationsPorfirio 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
 
Identifying Cross Site Scripting Vulnerabilities in Web Applications
Identifying Cross Site Scripting Vulnerabilities in Web ApplicationsIdentifying Cross Site Scripting Vulnerabilities in Web Applications
Identifying Cross Site Scripting Vulnerabilities in Web ApplicationsPorfirio Tramontana
 
Web Site Accessibility: Identifying and Fixing Accessibility Problems in Clie...
Web Site Accessibility: Identifying and Fixing Accessibility Problems in Clie...Web Site Accessibility: Identifying and Fixing Accessibility Problems in Clie...
Web Site Accessibility: Identifying and Fixing Accessibility Problems in Clie...Porfirio 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
 
A policy-based evaluation framework for Quality and Security in Service Orien...
A policy-based evaluation framework for Quality and Security in Service Orien...A policy-based evaluation framework for Quality and Security in Service Orien...
A policy-based evaluation framework for Quality and Security in Service Orien...Porfirio Tramontana
 
Turning Web Applications into Web Services by Wrapping Techniques
Turning Web Applications into Web Services by Wrapping TechniquesTurning Web Applications into Web Services by Wrapping Techniques
Turning Web Applications into Web Services by Wrapping TechniquesPorfirio 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
 
An AHP-based Framework for Quality and Security Evaluation
An AHP-based Framework for Quality and Security EvaluationAn AHP-based Framework for Quality and Security Evaluation
An AHP-based Framework for Quality and Security EvaluationPorfirio 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
 
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
 
Identifying Reusable Components in Web Applications
Identifying Reusable Components in Web ApplicationsIdentifying Reusable Components in Web Applications
Identifying Reusable Components in Web ApplicationsPorfirio 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
 
WARE: a tool for the Reverse Engineering of Web Applications
WARE: a tool for the Reverse Engineering of Web Applications WARE: a tool for the Reverse Engineering of Web Applications
WARE: a tool for the Reverse Engineering of Web Applications Porfirio 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
 

En vedette (19)

Web Pages Classification using Concept Analysis
Web Pages Classification using Concept Analysis Web Pages Classification using Concept Analysis
Web Pages Classification using Concept Analysis
 
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...
 
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
 
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 a Business Object Model from Web Applications
Recovering a Business Object Model from Web ApplicationsRecovering a Business Object Model from Web Applications
Recovering a Business Object Model from Web Applications
 
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
 
Identifying Cross Site Scripting Vulnerabilities in Web Applications
Identifying Cross Site Scripting Vulnerabilities in Web ApplicationsIdentifying Cross Site Scripting Vulnerabilities in Web Applications
Identifying Cross Site Scripting Vulnerabilities in Web Applications
 
Web Site Accessibility: Identifying and Fixing Accessibility Problems in Clie...
Web Site Accessibility: Identifying and Fixing Accessibility Problems in Clie...Web Site Accessibility: Identifying and Fixing Accessibility Problems in Clie...
Web Site Accessibility: Identifying and Fixing Accessibility Problems in Clie...
 
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
 
A policy-based evaluation framework for Quality and Security in Service Orien...
A policy-based evaluation framework for Quality and Security in Service Orien...A policy-based evaluation framework for Quality and Security in Service Orien...
A policy-based evaluation framework for Quality and Security in Service Orien...
 
Turning Web Applications into Web Services by Wrapping Techniques
Turning Web Applications into Web Services by Wrapping TechniquesTurning Web Applications into Web Services by Wrapping Techniques
Turning Web Applications into Web Services by Wrapping Techniques
 
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 ...
 
An AHP-based Framework for Quality and Security Evaluation
An AHP-based Framework for Quality and Security EvaluationAn AHP-based Framework for Quality and Security Evaluation
An AHP-based Framework for Quality and Security Evaluation
 
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
 
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
 
Identifying Reusable Components in Web Applications
Identifying Reusable Components in Web ApplicationsIdentifying Reusable Components in Web Applications
Identifying Reusable Components in Web Applications
 
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
 
WARE: a tool for the Reverse Engineering of Web Applications
WARE: a tool for the Reverse Engineering of Web Applications WARE: a tool for the Reverse Engineering of Web Applications
WARE: a tool for the Reverse Engineering of Web Applications
 
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
 

Similaire à Reverse Engineering Technique Models Rich Internet Application Behavior

International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
Component object model and
Component object model andComponent object model and
Component object model andSaransh Garg
 
Centralized monitoring station for it computing and network infrastructure1
Centralized monitoring station for it computing and network infrastructure1Centralized monitoring station for it computing and network infrastructure1
Centralized monitoring station for it computing and network infrastructure1MOHD ARISH
 
nullcon 2011 - Automatic Program Analysis using Dynamic Binary Instrumentation
nullcon 2011 - Automatic Program Analysis using Dynamic Binary Instrumentationnullcon 2011 - Automatic Program Analysis using Dynamic Binary Instrumentation
nullcon 2011 - Automatic Program Analysis using Dynamic Binary Instrumentationn|u - The Open Security Community
 
WID (Websphere Integration Development) Guide
WID (Websphere Integration Development) GuideWID (Websphere Integration Development) Guide
WID (Websphere Integration Development) Guideravireddy76
 
超級全能危樓改造王 - 增建、改建、打掉重建你的軟體架構?
超級全能危樓改造王 - 增建、改建、打掉重建你的軟體架構?超級全能危樓改造王 - 增建、改建、打掉重建你的軟體架構?
超級全能危樓改造王 - 增建、改建、打掉重建你的軟體架構?Pin-Ying Tu
 
IRJET- Development of Uncrackable Software
IRJET- Development of Uncrackable SoftwareIRJET- Development of Uncrackable Software
IRJET- Development of Uncrackable SoftwareIRJET Journal
 
Itsm serena x-change2011
Itsm serena x-change2011Itsm serena x-change2011
Itsm serena x-change2011Derek Chang
 
Smart Lan System for Controlling and Monitoring Network Using at Commands in ...
Smart Lan System for Controlling and Monitoring Network Using at Commands in ...Smart Lan System for Controlling and Monitoring Network Using at Commands in ...
Smart Lan System for Controlling and Monitoring Network Using at Commands in ...IRJET Journal
 
Smart Lan System for Controlling and Monitoring Network Using at Commands in ...
Smart Lan System for Controlling and Monitoring Network Using at Commands in ...Smart Lan System for Controlling and Monitoring Network Using at Commands in ...
Smart Lan System for Controlling and Monitoring Network Using at Commands in ...IRJET Journal
 
Mobile Application Development MAD J2ME UNIT 2
Mobile Application Development  MAD J2ME UNIT 2Mobile Application Development  MAD J2ME UNIT 2
Mobile Application Development MAD J2ME UNIT 2Pallepati Vasavi
 
Office Automation System using Internet of Things
Office Automation System using Internet of ThingsOffice Automation System using Internet of Things
Office Automation System using Internet of ThingsIRJET Journal
 
The fundamental problems of GUI applications and why people choose React
The fundamental problems of GUI applications and why people choose ReactThe fundamental problems of GUI applications and why people choose React
The fundamental problems of GUI applications and why people choose ReactOliver N
 
N(I)2 Overview Including Functional Processes
N(I)2 Overview Including Functional ProcessesN(I)2 Overview Including Functional Processes
N(I)2 Overview Including Functional Processeskvz
 
"MIDP 3.0 Master Class"
"MIDP 3.0 Master Class""MIDP 3.0 Master Class"
"MIDP 3.0 Master Class"paulsu
 
Distributed System by Pratik Tambekar
Distributed System by Pratik TambekarDistributed System by Pratik Tambekar
Distributed System by Pratik TambekarPratik Tambekar
 
Win rt fundamentals
Win rt fundamentalsWin rt fundamentals
Win rt fundamentalsKevin Stumpf
 
Passport Automation System
Passport Automation SystemPassport Automation System
Passport Automation SystemMegha Sahu
 

Similaire à Reverse Engineering Technique Models Rich Internet Application Behavior (20)

Snmp
SnmpSnmp
Snmp
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
Component object model and
Component object model andComponent object model and
Component object model and
 
Java Profiling
Java ProfilingJava Profiling
Java Profiling
 
Centralized monitoring station for it computing and network infrastructure1
Centralized monitoring station for it computing and network infrastructure1Centralized monitoring station for it computing and network infrastructure1
Centralized monitoring station for it computing and network infrastructure1
 
nullcon 2011 - Automatic Program Analysis using Dynamic Binary Instrumentation
nullcon 2011 - Automatic Program Analysis using Dynamic Binary Instrumentationnullcon 2011 - Automatic Program Analysis using Dynamic Binary Instrumentation
nullcon 2011 - Automatic Program Analysis using Dynamic Binary Instrumentation
 
WID (Websphere Integration Development) Guide
WID (Websphere Integration Development) GuideWID (Websphere Integration Development) Guide
WID (Websphere Integration Development) Guide
 
超級全能危樓改造王 - 增建、改建、打掉重建你的軟體架構?
超級全能危樓改造王 - 增建、改建、打掉重建你的軟體架構?超級全能危樓改造王 - 增建、改建、打掉重建你的軟體架構?
超級全能危樓改造王 - 增建、改建、打掉重建你的軟體架構?
 
IRJET- Development of Uncrackable Software
IRJET- Development of Uncrackable SoftwareIRJET- Development of Uncrackable Software
IRJET- Development of Uncrackable Software
 
Itsm serena x-change2011
Itsm serena x-change2011Itsm serena x-change2011
Itsm serena x-change2011
 
Smart Lan System for Controlling and Monitoring Network Using at Commands in ...
Smart Lan System for Controlling and Monitoring Network Using at Commands in ...Smart Lan System for Controlling and Monitoring Network Using at Commands in ...
Smart Lan System for Controlling and Monitoring Network Using at Commands in ...
 
Smart Lan System for Controlling and Monitoring Network Using at Commands in ...
Smart Lan System for Controlling and Monitoring Network Using at Commands in ...Smart Lan System for Controlling and Monitoring Network Using at Commands in ...
Smart Lan System for Controlling and Monitoring Network Using at Commands in ...
 
Mobile Application Development MAD J2ME UNIT 2
Mobile Application Development  MAD J2ME UNIT 2Mobile Application Development  MAD J2ME UNIT 2
Mobile Application Development MAD J2ME UNIT 2
 
Office Automation System using Internet of Things
Office Automation System using Internet of ThingsOffice Automation System using Internet of Things
Office Automation System using Internet of Things
 
The fundamental problems of GUI applications and why people choose React
The fundamental problems of GUI applications and why people choose ReactThe fundamental problems of GUI applications and why people choose React
The fundamental problems of GUI applications and why people choose React
 
N(I)2 Overview Including Functional Processes
N(I)2 Overview Including Functional ProcessesN(I)2 Overview Including Functional Processes
N(I)2 Overview Including Functional Processes
 
"MIDP 3.0 Master Class"
"MIDP 3.0 Master Class""MIDP 3.0 Master Class"
"MIDP 3.0 Master Class"
 
Distributed System by Pratik Tambekar
Distributed System by Pratik TambekarDistributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
 
Win rt fundamentals
Win rt fundamentalsWin rt fundamentals
Win rt fundamentals
 
Passport Automation System
Passport Automation SystemPassport Automation System
Passport Automation System
 

Plus 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
 
A Technique for Reducing User Session Data Sets in Web Application Testing
A Technique for Reducing User Session Data Sets in Web Application TestingA Technique for Reducing User Session Data Sets in Web Application Testing
A Technique for Reducing User Session Data Sets in Web Application TestingPorfirio Tramontana
 

Plus de Porfirio Tramontana (6)

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...
 
A Technique for Reducing User Session Data Sets in Web Application Testing
A Technique for Reducing User Session Data Sets in Web Application TestingA Technique for Reducing User Session Data Sets in Web Application Testing
A Technique for Reducing User Session Data Sets in Web Application Testing
 

Dernier

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 

Dernier (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 

Reverse Engineering Technique Models Rich Internet Application Behavior

  • 1. Experimenting a Reverse Engineering Technique for Modelling the Behaviour of Rich Internet Applications Domenico Amalfitano Anna Rita Fasolino Porfirio Tramontana Dipartimento di Informatica e Sistemistica Universita' degli Studi di Napoli, Federico II Naples, Italy {domenico.amalfitano, fasolino, ptramont}@unina.it
  • 2. Motivation • Modern Rich Internet Applications (RIAs) usually offer complex GUIs to their users • Reverse Engineering of models describing the behaviour of existing RIA GUIs can be necessary in different contexts: – Testing – Comprehension, Maintenance and Reengineering – Automatic crawling of RIAs • We proposed and experimented with: a tool-supported technique, based on dynamic analysis, for reverse engineering a Finite State Machine (FSM) model of the RIA GUI behaviour.
  • 3. FSM Model and the Reverse Engineering Technique 1. FSM is used to represent an RIA behaviour. 2. FSM represents all the elaboration states where the RIA receives any input solicitation by its user. 3. Each state of the RIA is described by the client Interface shown to the user at that interaction time. 4. Each client interface is characterized only by the sub-set of its active widgets that are ‘clickable’ or, more in general, that have a registered event listener and a corresponding event handler. 5. Transitions are associated with user interactions that trigger the RIA migration towards the new state. The UML class diagram showing the FSM information characterizing the proposed FSM model of an RIA * 1 1 * + prev St at e Client I nt er face Widget 1 1 + next 1 0..1 1 Ev ent * Tr ansit ion + Event Handler
  • 4. The Reverse Engineering Technique The proposed Reverse Engineering Technique for obtaining a FSM-based model of the RIA behaviour includes four sequential steps: 1. Execution trace collection • A set of traces exercising the RIA behaviours is collected; • Each trace is made up of Client interface DOMs and user events fired on these DOMs. 2. Trace analysis and classification • Three interface classification techniques are used to cluster into equivalent states the collected interfaces. • User events between consecutive interfaces are associated to transitions between states. 3. FSM model validation • The abstracted FSM model is compared against a Gold Standard (GS) one expected by an expert.
  • 5. Client Interface Collection 1/2 During the trace collection, each Client Interface is characterized by the following subsets of widgets : - All the widgets with an event handler. - All the widgets on which the user can fire an event handler 1 An Example of Client Interface and 2 the selected widgets: 1 – Form 2 – Button 3 – Button 3 4 – Button 4 5 5 – Button 6 – Link 6 7 – Link 7
  • 6. Client Interface Collection 2/2 Each widget of the Client Interface is characterized by some of its attributes, its Xpath and unindexed Xpath. Id_widget Attribute Value Xpath Unindexed xpath Active 1 5482 action # /html[2]/body[1]/form[1] /html/body/form true 5475 type button /html[2]/body[1]/form[1]/input[3] /html/body/form/input true 2 5475 onclick "avvia()" /html[2]/body[1]/form[1]/input[3] /html/body/form/input true 5476 type button /html[2]/body[1]/div[1]/div[1]/input[1] /html/body/div/div/input true 3 5476 onclick "new_link()" /html[2]/body[1]/div[1]/div[1]/input[1] /html/body/div/div/input true 5477 type button /html[2]/body[1]/div[1]/div[2]/input[1] /html/body/div/div/input true 4 5477 onclick "gest ('users.xml')" /html[2]/body[1]/div[1]/div[2]/input[1] /html/body/div/div/input true 5478 type button /html[2]/body[1]/div[1]/div[2]/input[2] /html/body/div/div/input false 5 5478 onclick "gest (‘admins.xml')" /html[2]/body[1]/div[1]/div[2]/input[2] /html/body/div/div/input false 6 5479 href page1.html /html[2]/body[1]/div[2]/a[1] /html/body/div/a true 5480 href page2.html /html[2]/body[1]/div[2]/a[1] /html/body/div/a true 7 Table reporting captured attributes of the Example client interface
  • 7. Interface Classification Techniques Three interface classification criteria are used to assess the equivalence of two interfaces: - C1) two interfaces are equivalent if they have the same number of widgets with the same subset of attributes. - C2) two interfaces are equivalent if they have the same number of enabled widgets with the same subset of attributes. - C3) two interfaces are equivalent if they contains the same set of lists, containing the same widgets. - Interface I1 is equivalent to interface I2 according to C1, while they are not equivalent according to C2 - Interface I2 is equivalent to This widget make interface I3 according to the difference for C1 This widget make C3, while they are not the difference for C2 Interface I3 equivalent according to Interface I1 Interface I2 C2
  • 8. FSM Validation Technique • The classification of the collected interfaces provides a partition of the set of interfaces • In order to assess the effectiveness of the clustering criteria, the edit distance between the produced partition and the one proposed by an expert is automatically evaluated by the CReRIA tool • The effectiveness of the process of abstracting the correct FSM model is measured by the edit distance, using the following metric: Correct Interface Ratio (CIR) metric: CIR (M) = 1- d(M, O)/ |I| where CIR= 100% indicates that M and O partitions are identical. Edit distance = 3
  • 9. The CReRia tool • CReRia is a Java-based integrated environment, supporting the execution of the proposed reverse engineering technique. • Its user interface provides: 1. A Browser Emulator – a Mozilla browser for navigating the subject RIA 2. A Panel for Starting and executing the Session of trace collection 3. A Panel for building the GS during the RIA navigation session 4. A Panel for validating the Reverse Engineering results.
  • 10. The CReRia tool GUI 1 2 3 4 Available at http://wpage.unina.it/ptramont/downloads.htm The CReRia Tool is developed in Java & MySql
  • 11. Experiment • Goals of the experiment: (1) assessing the technique effectiveness (2) comparing the effectiveness of different interface equivalence criteria • Experimental Materials : (four involved RIAs) W1: http://app.ess.ch/tudu/welcome.action W2: http://www.pikipimp.com W3: http://www.agavegroup.com/agWork/theList/theListWrapper.php W4: http://www.buttonator.com • Experimental Procedure: • For each RIA, 2 authors acted as experts and produced the Gold Standard model • The reverse engineering process was executed by 5 undergraduate students: • Several traces were collected for each RIA • The tool classified the trace equivalent interfaces and produced the FSMs • The tool compared each obtained FSM against the Gold Standard model using the CIR metric
  • 12. Subject Application Experimental Results Gold Standard States Collected User Session Traces Gold Standard Transitions Collected Interfaces Best Criterion Edit Distance Use Cases Scenarios Interface Correct Ratio W1 8 17 15 52 30 1885 C3 14 85% W2 1 2 4 16 8 533 C3 8 65% W3 3 10 4 9 11 731 C3 0 100% W4 C2 0 100% • In the first 1 two 8 casesGS C3 19 (W1 models 23 where62% quite and54 W2) 11 829 the FSM and similar (cfr. 85% and 65% values of CIR) • In the other two cases (W3 and W4) the FSM and GS models where identical (CIR=100%), but they were obtained using different equivalence criteria (C3 and C2)
  • 13. A FSM The FSM of (W1) Tudu after the execution of the reverse engineering process Example (http://app.ess.ch/tudu/welcome.action )
  • 14. Conclusions • The proposed Reverse Engineering technique showed its effectiveness in reconstructing a FSM model of RIAs which is very similar to the one produced by an expert of the RIA. • The technique exploits structural/ behavioural interface equivalence criteria which do not require the choice of any similarity threshold • Experiments showed that the most effective criterion depends on the characteristics of analysed RIA client interfaces. • Future improvements: • An interactive process that puts together the interface collection and validation phases of the process • The proposed criteria are used to generate suggestions about the equivalence between FSM states • Automatic generation of Test Suites for covering the states of the FSM model