SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Recovering Interaction
Design Patterns in Web
     Applications

                P. Tramontana
                A.R. Fasolino
      Dipartimento di Informatica e Sistemistica
         University of Naples Federico II, Italy


                 G.A. Di Lucca
  RCOST – Research Centre on Software Technology
       University of Sannio, Benevento, Italy


                                                   1
Web Interaction Design Patterns


   The design of User Interface is a critical phase
    of Web Applications development
       Many quality attributes of Web Applications depends
        on the interface (Usability, Accessibility, …)
   Use of interaction patterns speed up design and
    implementation of high quality Web Applications
   Identification of Web Interaction Design Patterns
    helps us for the comprehension, maintenance,
    reengineering, reuse of Web Application
                                             2
Web Interaction Design Pattern catalogues


   Some catalogues of Web Interaction Design
    Patterns have been proposed
   Martin van Welie in website www.welie.com
    reports a list comprehending many different
    patterns
   An abstract description of each pattern is
    provided by natural language …
       not enough to support automatic identification!


                                                3
An example of WIDP Description:
                 the Login pattern
Problem The users need to identify themselves so that stored data about/of
them can be used in the process they are in.

Context When users frequently return to a site that uses large amounts of data
about or belonging to the users, it is convenient to have users enter that
information once and use it again for future visits to the site. Usually the
information that is stored is personal information and can include name, age,
gender, shipping addresses, stock portfolio, bank account numbers and credit
card numbers. In order to be able to access their data, users must complete their
Registration first.
For many site types it can be convenient to store information of/about visitor.
Often these are E-commerce Site, Community Site or Web-based Application
such as electronic banking applications.

Solution When needed, ask the users to login using a combination of a
username and a password

                                                            4
Identification of WIDPs

Examples of Login pattern   What are the common
                            characteristics of the login
                            pattern implementations?

                            • a Form
                            • a text field
                            • a password field
                            • a submit button
                            • word ‘password’
                            • ...


                                       5
User Interface Model
   Clues useful to support the identification of WIDPs may be recovered
    analyzing HTML structures and textual part of Client Pages
                                           Page Text      Keyword




                     UI Fragment          Client Page                      Web Page




                                                              Anchor                  link
         Table
                             Form                  Text             link

                                              Textarea
        Row                                                    Image
                                             Password

                          Input Field          Button

        Cell                                  Submit

                                               Reset
                 Hidden
                                             File
                      Image                Radio

                               Checkbox   Select
                                                                             6
Features

   Structural features
        a table with 2 or more rows in the page
        2 or more anchors in the page

        a form in the page

        a password field in the page

   Lexical features
          any of the words ‘login’, ‘username’ (a login
           synonym), ‘nome utente’ (an italian translation for
           login or username) in the page
           What are the most characteristics
             features for a given WIDP? 7
Characterization of Patterns’ features


   Given a pattern a feature is characteristic
    one if:
       it is “frequently” retrieved in the implementation
        of the pattern and
       It     isn’t  “frequently”    retrieved   in   the
        implementation of any other pattern




                                            8
Measure of the Characterization

   Given a set of implementations of each pattern
    (training set) we define:
           Frequency of a Feature F for a Pattern P
                                                   Occ( wp, F )
            Freq( P, F ) =          ∑ t ( P ) Card (TrainingSet ( P))
                              wp∈TrainingSe

           Specificity of a Feature F for a Pattern P
                            Freq( P, F ) − Average( F ) ifFreq ( P, F ) > Average( F )
            Spec( P, F ) = 
                                         0                        Elsewhere

       Characterization Weight of a Feature F for a Pattern P

                  CW ( P, F ) = Freq ( P, F ) * Spec( P, F )
                                                                              9
A Three-phase approach to identify Web
     Interaction Design Patterns in Web Pages

The identification of patterns is based on the analysis of the occurrences of the
characteristic features present in the pages



                                   CW (Pattern,
                                    Feature)
 Training Set                                                         Validated
                     Training                        Validation
                                                                      patterns




                                                    Candidate
  Web pages                     Candidature         Pages with
                                                     Patterns



                                                                 10
Training Phase
 A training set of Web Pages actually containing
  samples of each pattern have to be selected.
Training Web Pages:
       May be written using different human languages (e.g.
        English and Italian)
       May belong to different application domains
       May be developed with different programming styles
        (e.g. automatically generated or manually developed)
   For each couple (pattern, feature)                  the
    Characterization Weight value is evaluated

                                             11
Candidature phase
   for each pattern and for each Web Page, an
    index of the probability that a pattern P is
    contained in a Web Page WP is evaluated

                                          ∑ CW ( P, f ) * Occ(WP, f )
                                    f ∈FeatureSet ( P )
             Likelihood (WP, P) =
                                              ∑ CW ( P, f )
                                                f ∈FeatureSet ( P )

   We assume that a pattern is contained in a Web Page if
    the Likelihood value is greater than a fixed threshold
       Controlled experiments have been carried out to evaluate the threshold
        value maximizing the number of correct candidatures


                                                                      12
Validation phase

   The correctness of the (Web Page, Pattern)
    couples proposed during the Candidature phase
    must be assessed by an expert that verifies if
    the Web Page actually contains the proposed
    Pattern

   Web Pages containing validated patterns may
    be added to the training set of the pattern

                                      13
Architecture of the system

                                 Likelihood           Pattern          Threshold
Web pages         Reverse
                 Engineering     Evaluator           Identifier
                    Tool




                     WA              Pattern                       Pattern
                 Information        Repository                    Validator
                  Repository

                                              CW Tuner


                    Reverse                              Validated
   Training        Engineering    CW Evaluator
                                                          patterns
     Set              Tool

                                                         14
Experimentation

   Experiments have been carried out:
       To validate the approach
       To tune the value of the decision threshold
       To measure the degree of correctness of the patterns
        automatically identified by the system
   Experiments involved:
       6 Web Interaction Design Patterns (Guestbook, Login,
        Poll, Registration, Search, Sitemap)
       216 Features (180 structural features and 36 lexical
        features)

                                              15
Pattern List
               a view of the list of messages written
Guestbook      by the visitors of a website



Login
               an     authentication   module       for
               inserting    personal    identification
               information needed to access to
               private services

Poll
               a module to insert a vote for a poll



               a module to insert personal data
Registration   needed to register to a service



Search
               a module to insert keywords for a
               search on a search engine



Sitemap
               a view of the map of the pages of a
               website




                                                          16
Guestbook




            17
Login




        18
Poll




       19
Registration




               20
Search




         21
Sitemap




          22
Evaluation of the Characterization Weight
   The Characterization Weight
    has      been      evaluated
    analyzing a Training set       Best Poll                   CW
    comprehending 108 Web
    Pages                          Features
   Each Web Page of the           Word ‘poll’                 0,5644125
    Training Set contains only     2 or more select buttons 0,4741561
    one of the       considered
                                   in a form
    pattern
                                   Word ‘vote’              0,4399831
            Pattern        #
            Guestbook      15      Word ‘results’              0,4216681
            Login          25      2 or more radio button in   0,3189687
            Poll           13      a table
            Registration   14
                                   1 radio button in a cell    0,3031277
            Search         20
            Sitemap        21
                                                       23
Recall and Precision

   To assess the correctness of the results of the approach
    the Recall and Precision measures have been defined:

       Recall : Number of correct candidate couples (web page,
        pattern) / Number of couples (web page, pattern) to identify

       Precision: Number of correct candidate couples (web page,
        pattern) / Number of candidate couples (web page, pattern)




                                                   24
Preliminary Identification Test
   A preliminary test has been carried out to assess the
    effectiveness approach

   The preliminary identification test involves the same Web
    Pages constituting the Training Set

   Recall and Precision values have been evaluated,
    varying threshold value




                                              25
Preliminary Identification Test

Threshold0,8      0,7      0,6      0,5      0,4     0,3     0,2     0,1
Recall   46/108   69/108   89/108   93/108   101/108 106/108 107/108 108/108
%        43%      64%      82%      86%      94%     98%     99%     100%
Precision 46/49   69/75    89/112   93/135   101/174 106/234 107/325 108/487
%        94%      92%      79%      69%      58%     45%     33%     22%



   A good trade-off between Recall and Precision has been reached
    for Threshold=0.6
   False positives and true negatives are due to the extreme similarity
    between some implementations of the patterns


                                                           26
Identification Test
   Another experiment has been carried out, involving a
    test set of 108 Client Pages that have been extracted
    from the WWW

   Each of the Web Pages belonging to the test set
    contains zero, one or more patterns

   An expert software engineering stated which and how
    many patterns were included in the set of pages




                                           27
Identification Test

Threshold0,8             0,7         0,6         0,5         0,4         0,3          0,2      0,1
Recall       20/55       31/55       44/55       45/55       51/55       52/55        54/55    54/55
%            36%         56%         80%         82%         93%         95%          98%      98%
Precision 20/24          31/39       44/67       45/112      51/171      52/229       54/347   54/590
%            83%         79%         66%         40%         30%         23%          16%      9%



   A good trade-off between Recall and Precision has been reached (again) for Threshold=0.6
   The performance are worst than in preliminary test but are quite acceptable




                                                                                   28
Conclusions

   Automatic identification of Web Interaction
    Pattern is not a simple task:
       Interaction functionality may be implemented in much
        different ways
   An approach has been proposed to identify
    Patterns implemented in Web Pages on the
    basis of the identification of the common
    features characterizing the pattern
   Experiments that have been carried out shows
    the feasibility of the proposed approach
                                              29
Future Works

   Further assessing experiments must be
    carried out to measure the correctness of
    the results of the approach by varying:
       The number of patterns to identify
       The number of samples in the training set
       The set of features (e.g. adding features
        resulting from the combination of the basic
        features considered in the presented
        experiment)

                                       30

Weitere ähnliche Inhalte

Ähnlich wie Recovering Interaction Design Patterns in Web Applications

End-to-end Model-driven Development of Applications with Eclipse using the ...
End-to-end Model-driven Development of Applications with Eclipse using  the ...End-to-end Model-driven Development of Applications with Eclipse using  the ...
End-to-end Model-driven Development of Applications with Eclipse using the ...emanuelemolteni
 
Android classes-in-pune-syllabus
Android classes-in-pune-syllabusAndroid classes-in-pune-syllabus
Android classes-in-pune-syllabuscncandrwebworld
 
Sap ep admin online training
Sap ep admin online trainingSap ep admin online training
Sap ep admin online trainingVenkat reddy
 
Mike Taulty TechDays 2010 Silverlight 4 - What's New?
Mike Taulty TechDays 2010 Silverlight 4 - What's New?Mike Taulty TechDays 2010 Silverlight 4 - What's New?
Mike Taulty TechDays 2010 Silverlight 4 - What's New?ukdpe
 
Best Apple IOS Training in Chennai | Best Iphone Training in Chennai
Best Apple IOS Training in Chennai | Best Iphone Training in ChennaiBest Apple IOS Training in Chennai | Best Iphone Training in Chennai
Best Apple IOS Training in Chennai | Best Iphone Training in ChennaiCore Mind
 
Special Purpose Role-Based Clients for PLM using Aras
Special Purpose Role-Based Clients for PLM using ArasSpecial Purpose Role-Based Clients for PLM using Aras
Special Purpose Role-Based Clients for PLM using ArasAras
 
Aras Role Based Clients
Aras Role Based ClientsAras Role Based Clients
Aras Role Based ClientsProdeos
 
Presenter manual J2EE (specially for summer interns)
Presenter manual  J2EE (specially for summer interns)Presenter manual  J2EE (specially for summer interns)
Presenter manual J2EE (specially for summer interns)XPERT INFOTECH
 
Reverse Engineering Web Applications
Reverse Engineering Web ApplicationsReverse Engineering Web Applications
Reverse Engineering Web ApplicationsPorfirio Tramontana
 
Btb017 David
Btb017 DavidBtb017 David
Btb017 DavidRohit Ray
 
IPC07 Talk - Beautiful Code with AOP and DI
IPC07 Talk - Beautiful Code with AOP and DIIPC07 Talk - Beautiful Code with AOP and DI
IPC07 Talk - Beautiful Code with AOP and DIRobert Lemke
 
Python Ireland Nov 2009 Talk - Appengine
Python Ireland Nov 2009 Talk - AppenginePython Ireland Nov 2009 Talk - Appengine
Python Ireland Nov 2009 Talk - AppenginePython Ireland
 
Building tomorrow's web with today's tools
Building tomorrow's web with today's toolsBuilding tomorrow's web with today's tools
Building tomorrow's web with today's toolsJames Pearce
 
Visual Experience 360 Flex
Visual Experience 360 FlexVisual Experience 360 Flex
Visual Experience 360 FlexJuan Sanchez
 
SAP EP JAVA WEBDYNPRO Training Course ,SAP Training Online
SAP EP JAVA WEBDYNPRO Training Course  ,SAP Training OnlineSAP EP JAVA WEBDYNPRO Training Course  ,SAP Training Online
SAP EP JAVA WEBDYNPRO Training Course ,SAP Training OnlineVenkat reddy
 
Behaviour Driven Development V 0.1
Behaviour Driven Development V 0.1Behaviour Driven Development V 0.1
Behaviour Driven Development V 0.1willmation
 

Ähnlich wie Recovering Interaction Design Patterns in Web Applications (20)

End-to-end Model-driven Development of Applications with Eclipse using the ...
End-to-end Model-driven Development of Applications with Eclipse using  the ...End-to-end Model-driven Development of Applications with Eclipse using  the ...
End-to-end Model-driven Development of Applications with Eclipse using the ...
 
Android classes-in-pune-syllabus
Android classes-in-pune-syllabusAndroid classes-in-pune-syllabus
Android classes-in-pune-syllabus
 
.net
.net.net
.net
 
Sap ep admin online training
Sap ep admin online trainingSap ep admin online training
Sap ep admin online training
 
Mike Taulty TechDays 2010 Silverlight 4 - What's New?
Mike Taulty TechDays 2010 Silverlight 4 - What's New?Mike Taulty TechDays 2010 Silverlight 4 - What's New?
Mike Taulty TechDays 2010 Silverlight 4 - What's New?
 
Best Apple IOS Training in Chennai | Best Iphone Training in Chennai
Best Apple IOS Training in Chennai | Best Iphone Training in ChennaiBest Apple IOS Training in Chennai | Best Iphone Training in Chennai
Best Apple IOS Training in Chennai | Best Iphone Training in Chennai
 
Special Purpose Role-Based Clients for PLM using Aras
Special Purpose Role-Based Clients for PLM using ArasSpecial Purpose Role-Based Clients for PLM using Aras
Special Purpose Role-Based Clients for PLM using Aras
 
Aras Role Based Clients
Aras Role Based ClientsAras Role Based Clients
Aras Role Based Clients
 
Dot net training bangalore
Dot net training bangaloreDot net training bangalore
Dot net training bangalore
 
Presenter manual J2EE (specially for summer interns)
Presenter manual  J2EE (specially for summer interns)Presenter manual  J2EE (specially for summer interns)
Presenter manual J2EE (specially for summer interns)
 
Reverse Engineering Web Applications
Reverse Engineering Web ApplicationsReverse Engineering Web Applications
Reverse Engineering Web Applications
 
Btb017 David
Btb017 DavidBtb017 David
Btb017 David
 
o
oo
o
 
IPC07 Talk - Beautiful Code with AOP and DI
IPC07 Talk - Beautiful Code with AOP and DIIPC07 Talk - Beautiful Code with AOP and DI
IPC07 Talk - Beautiful Code with AOP and DI
 
Python Ireland Nov 2009 Talk - Appengine
Python Ireland Nov 2009 Talk - AppenginePython Ireland Nov 2009 Talk - Appengine
Python Ireland Nov 2009 Talk - Appengine
 
Building tomorrow's web with today's tools
Building tomorrow's web with today's toolsBuilding tomorrow's web with today's tools
Building tomorrow's web with today's tools
 
Visual Experience 360 Flex
Visual Experience 360 FlexVisual Experience 360 Flex
Visual Experience 360 Flex
 
SAP EP JAVA WEBDYNPRO Training Course ,SAP Training Online
SAP EP JAVA WEBDYNPRO Training Course  ,SAP Training OnlineSAP EP JAVA WEBDYNPRO Training Course  ,SAP Training Online
SAP EP JAVA WEBDYNPRO Training Course ,SAP Training Online
 
SFDC Course Content
SFDC Course ContentSFDC Course Content
SFDC Course Content
 
Behaviour Driven Development V 0.1
Behaviour Driven Development V 0.1Behaviour Driven Development V 0.1
Behaviour Driven Development V 0.1
 

Mehr von 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
 
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
 
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
 

Mehr von 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
 
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
 
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
 

Kürzlich hochgeladen

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 

Kürzlich hochgeladen (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 

Recovering Interaction Design Patterns in Web Applications

  • 1. Recovering Interaction Design Patterns in Web Applications P. Tramontana A.R. Fasolino Dipartimento di Informatica e Sistemistica University of Naples Federico II, Italy G.A. Di Lucca RCOST – Research Centre on Software Technology University of Sannio, Benevento, Italy 1
  • 2. Web Interaction Design Patterns  The design of User Interface is a critical phase of Web Applications development  Many quality attributes of Web Applications depends on the interface (Usability, Accessibility, …)  Use of interaction patterns speed up design and implementation of high quality Web Applications  Identification of Web Interaction Design Patterns helps us for the comprehension, maintenance, reengineering, reuse of Web Application 2
  • 3. Web Interaction Design Pattern catalogues  Some catalogues of Web Interaction Design Patterns have been proposed  Martin van Welie in website www.welie.com reports a list comprehending many different patterns  An abstract description of each pattern is provided by natural language …  not enough to support automatic identification! 3
  • 4. An example of WIDP Description: the Login pattern Problem The users need to identify themselves so that stored data about/of them can be used in the process they are in. Context When users frequently return to a site that uses large amounts of data about or belonging to the users, it is convenient to have users enter that information once and use it again for future visits to the site. Usually the information that is stored is personal information and can include name, age, gender, shipping addresses, stock portfolio, bank account numbers and credit card numbers. In order to be able to access their data, users must complete their Registration first. For many site types it can be convenient to store information of/about visitor. Often these are E-commerce Site, Community Site or Web-based Application such as electronic banking applications. Solution When needed, ask the users to login using a combination of a username and a password 4
  • 5. Identification of WIDPs Examples of Login pattern What are the common characteristics of the login pattern implementations? • a Form • a text field • a password field • a submit button • word ‘password’ • ... 5
  • 6. User Interface Model  Clues useful to support the identification of WIDPs may be recovered analyzing HTML structures and textual part of Client Pages Page Text Keyword UI Fragment Client Page Web Page Anchor link Table Form Text link Textarea Row Image Password Input Field Button Cell Submit Reset Hidden File Image Radio Checkbox Select 6
  • 7. Features  Structural features  a table with 2 or more rows in the page  2 or more anchors in the page  a form in the page  a password field in the page  Lexical features  any of the words ‘login’, ‘username’ (a login synonym), ‘nome utente’ (an italian translation for login or username) in the page What are the most characteristics features for a given WIDP? 7
  • 8. Characterization of Patterns’ features  Given a pattern a feature is characteristic one if:  it is “frequently” retrieved in the implementation of the pattern and  It isn’t “frequently” retrieved in the implementation of any other pattern 8
  • 9. Measure of the Characterization  Given a set of implementations of each pattern (training set) we define:  Frequency of a Feature F for a Pattern P Occ( wp, F ) Freq( P, F ) = ∑ t ( P ) Card (TrainingSet ( P)) wp∈TrainingSe  Specificity of a Feature F for a Pattern P  Freq( P, F ) − Average( F ) ifFreq ( P, F ) > Average( F ) Spec( P, F ) =   0 Elsewhere  Characterization Weight of a Feature F for a Pattern P CW ( P, F ) = Freq ( P, F ) * Spec( P, F ) 9
  • 10. A Three-phase approach to identify Web Interaction Design Patterns in Web Pages The identification of patterns is based on the analysis of the occurrences of the characteristic features present in the pages CW (Pattern, Feature) Training Set Validated Training Validation patterns Candidate Web pages Candidature Pages with Patterns 10
  • 11. Training Phase  A training set of Web Pages actually containing samples of each pattern have to be selected. Training Web Pages:  May be written using different human languages (e.g. English and Italian)  May belong to different application domains  May be developed with different programming styles (e.g. automatically generated or manually developed)  For each couple (pattern, feature) the Characterization Weight value is evaluated 11
  • 12. Candidature phase  for each pattern and for each Web Page, an index of the probability that a pattern P is contained in a Web Page WP is evaluated ∑ CW ( P, f ) * Occ(WP, f ) f ∈FeatureSet ( P ) Likelihood (WP, P) = ∑ CW ( P, f ) f ∈FeatureSet ( P )  We assume that a pattern is contained in a Web Page if the Likelihood value is greater than a fixed threshold  Controlled experiments have been carried out to evaluate the threshold value maximizing the number of correct candidatures 12
  • 13. Validation phase  The correctness of the (Web Page, Pattern) couples proposed during the Candidature phase must be assessed by an expert that verifies if the Web Page actually contains the proposed Pattern  Web Pages containing validated patterns may be added to the training set of the pattern 13
  • 14. Architecture of the system Likelihood Pattern Threshold Web pages Reverse Engineering Evaluator Identifier Tool WA Pattern Pattern Information Repository Validator Repository CW Tuner Reverse Validated Training Engineering CW Evaluator patterns Set Tool 14
  • 15. Experimentation  Experiments have been carried out:  To validate the approach  To tune the value of the decision threshold  To measure the degree of correctness of the patterns automatically identified by the system  Experiments involved:  6 Web Interaction Design Patterns (Guestbook, Login, Poll, Registration, Search, Sitemap)  216 Features (180 structural features and 36 lexical features) 15
  • 16. Pattern List a view of the list of messages written Guestbook by the visitors of a website Login an authentication module for inserting personal identification information needed to access to private services Poll a module to insert a vote for a poll a module to insert personal data Registration needed to register to a service Search a module to insert keywords for a search on a search engine Sitemap a view of the map of the pages of a website 16
  • 17. Guestbook 17
  • 18. Login 18
  • 19. Poll 19
  • 21. Search 21
  • 22. Sitemap 22
  • 23. Evaluation of the Characterization Weight  The Characterization Weight has been evaluated analyzing a Training set Best Poll CW comprehending 108 Web Pages Features  Each Web Page of the Word ‘poll’ 0,5644125 Training Set contains only 2 or more select buttons 0,4741561 one of the considered in a form pattern Word ‘vote’ 0,4399831 Pattern # Guestbook 15 Word ‘results’ 0,4216681 Login 25 2 or more radio button in 0,3189687 Poll 13 a table Registration 14 1 radio button in a cell 0,3031277 Search 20 Sitemap 21 23
  • 24. Recall and Precision  To assess the correctness of the results of the approach the Recall and Precision measures have been defined:  Recall : Number of correct candidate couples (web page, pattern) / Number of couples (web page, pattern) to identify  Precision: Number of correct candidate couples (web page, pattern) / Number of candidate couples (web page, pattern) 24
  • 25. Preliminary Identification Test  A preliminary test has been carried out to assess the effectiveness approach  The preliminary identification test involves the same Web Pages constituting the Training Set  Recall and Precision values have been evaluated, varying threshold value 25
  • 26. Preliminary Identification Test Threshold0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 Recall 46/108 69/108 89/108 93/108 101/108 106/108 107/108 108/108 % 43% 64% 82% 86% 94% 98% 99% 100% Precision 46/49 69/75 89/112 93/135 101/174 106/234 107/325 108/487 % 94% 92% 79% 69% 58% 45% 33% 22%  A good trade-off between Recall and Precision has been reached for Threshold=0.6  False positives and true negatives are due to the extreme similarity between some implementations of the patterns 26
  • 27. Identification Test  Another experiment has been carried out, involving a test set of 108 Client Pages that have been extracted from the WWW  Each of the Web Pages belonging to the test set contains zero, one or more patterns  An expert software engineering stated which and how many patterns were included in the set of pages 27
  • 28. Identification Test Threshold0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 Recall 20/55 31/55 44/55 45/55 51/55 52/55 54/55 54/55 % 36% 56% 80% 82% 93% 95% 98% 98% Precision 20/24 31/39 44/67 45/112 51/171 52/229 54/347 54/590 % 83% 79% 66% 40% 30% 23% 16% 9%  A good trade-off between Recall and Precision has been reached (again) for Threshold=0.6  The performance are worst than in preliminary test but are quite acceptable 28
  • 29. Conclusions  Automatic identification of Web Interaction Pattern is not a simple task:  Interaction functionality may be implemented in much different ways  An approach has been proposed to identify Patterns implemented in Web Pages on the basis of the identification of the common features characterizing the pattern  Experiments that have been carried out shows the feasibility of the proposed approach 29
  • 30. Future Works  Further assessing experiments must be carried out to measure the correctness of the results of the approach by varying:  The number of patterns to identify  The number of samples in the training set  The set of features (e.g. adding features resulting from the combination of the basic features considered in the presented experiment) 30

Hinweis der Redaktion

  1. A Reverse Engineering approach to: Identify WIDPs Support the refinement of the description of WIDPs
  2. The Frequency of a Feature indicates how much frequently the feature occurs in the considered set of implementations of a pattern Specificity of a Feature indicates if and how much this feature is more frequent in the implementation of a pattern instead than in the implementations of the other patterns Characterization Weight is an index of the correlation between the presence of a feature and the presence of a pattern in a Client page It takes into account Frequency and Specificity of the feature for the pattern
  3. In the Training phase a matrix of Characterization Weight for each Pattern and for each considered feature is evaluated In the Candidature phase, hypothesis about the presence of patterns in Web pages are proposed on the basis of retrieved features In the Validation phase an expert assess es the correctness of the candidatures. Pages containing a pattern are added to the training set
  4. In the Candidature phase, hypothesis about the presence of patterns in Web pages are proposed on the basis of retrieved features
  5. In the higher part, components needed to the Candidature Phase In the lower part, components needed to the Training Phase In the middle part, repositories and Validation Components
  6. As an example, we can see that the more characteristic features of the poll pattern are the word vote, poll and result and the occurrence of 2 or more select buttons in a form
  7. The test is carried out automatically: there is no need of human intervention
  8. Recall and Precision values are enough encouraging about the effectiveness of the approach