SlideShare a Scribd company logo
1 of 25
Using Dynamic Analysis for
   Generating End User
Documentation for Web 2.0
       Applications
              Domenico Amalfitano
               Anna Rita Fasolino
              Porfirio Tramontana
           Dipartimento di Informatica e Sistemistica
             University of Naples Federico II, Italy
Motivation

   Web 2.0 Applications have emerged as a new
    generation of Web applications offering greater usability
    and interactivity than traditional ones.
         Web pages have been transformed in complex GUIs with
          synchronous and asynchronous interactions with the user and
          with the resources

   End User Documentation needs
         The complexity and the variety of interactivity features provided
          by a modern Web 2.0 Applications may often confuse the user,
          so end user documentation is needed to improve the usability of
          the applications


Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011                2
User documentation definitions
   According to the IEEE 1063 standard:
         Instructional mode
               “Usage mode that is intended to teach the use of software in performing
                tasks”
         Reference mode
               “Usage mode that is intended to provide quick access to specific information
                for software users who are generally familiar with the software functions”
         Procedure:
               “Ordered series of steps that a user follows to do one or more tasks”
         Step:
               “One element of a procedure. A step contains one or more actions”
         Action:
               Element of a step that a user performs to complete a procedure.
         Tutorial:
               “Instructional procedure in which the user exercises software functions using
                sample data supplied with the software or documentation”
Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011                                  3
Some documentation examples

         Tudu list user documentation (our case study)


   Other examples
         ASSP Web Application
         TravWeb




Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011   4
Web 2.0 applications

   Web 2.0 applications have complex User
    Interfaces, with both client side and server
    side interactions
         Business criticality is related to their
          learnability, operability and usability
   The client side code is usually dynamically
    generated
         Static analysis techniques can extract only a
          limited set of information
Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011   5
Benefits and effort of a good documentation


   Learnability
   Operability
   Usability

   Effort needed to write documentation
   Effort needed to maintain the
    documentation up-to-dated

Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011   6
User documentation generation

   Many tools available for the generation of internal
    documentation, usually based on static analysis of the
    source code:
       Javadoc
       Doxygen
   Some tools can generate tutorials from dynamic
    analysis:
       Smart Tutor
       DocWizards
       JTutor
       EpiDocX

    Is it possible to support and partially automate
     the process of generation of end user
     documentation for a Web 2.0 application?
Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011   7
Our documentation generation
                     approach
                                                                                        Use Case                 RIA
   Supports the automatic generationAnalystsome end user
                                      of                                                Scenarios



    documentation items                          RIA
                                                               FSMs
          Overall navigation Graph
                                                                                             Dynamic
                                                                                            Analysis

         Scenario execution tutorials                                    Collected Traces


         End user reference guide                                                                      Navigational
                                                                                    Edited FSMs           Model
   Three steps:                                             Repository                                 Generation


         Web Application Dynamic Analyis                                                   User

          Generation of the Navigation Graph
                                                                                        Documentation
                                                                                        Generation

         End User Documentation Generation
                                                                   Introductory                                Reference
                                                                      Manual             Tutorials              Guide




Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011                                                                 8
Web Application Dynamic Analysis
                                                                                               Use Case
                                                                                                                                  Act or
                                                                                           + Name                  1..*   1..*    + Name

    Use case scenarios of the Web application are navigated
                                                                                           + Description

    and described by the documenter                                                                 1..*

          With the support of the CReRIA tool
                                                                                              Scenar io
                                                                                                                           Ex cept ion Scenar io
                                                                                           + Name

    He has to give a name to any Interface Instance and to
                                                                                           + Description

                                                                                                    1

    any Transition Instance                                                                         1
                                                                                           Ex ecut ion Tr ace
         The tool suggests the reuse of identical names when it judges
          that the interface/transitions are “similar”Previouspreviously 1..*
                                                     + to
          encountered and described ones                      0..1 2..*

               Different clustering heuristics are availablent er face I nst ance
                                                         + Next I
                                                           0..1
                                                                                                        Tr ansit ion I nst ance

                                                                     + Screenshot
                                                                                                                1..*
                                                                            1..*



                                                                       I nt er face Class                   Tr ansit ion Class
                                                                    + Name                              + Name
                                                                    + Description                       + Description
                                                                                           + Node          1..* + Edge
                                                                                    1..*



Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011                             Nav igat ion Gr aph                           9
Web Application Dynamic Analysis




Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011   10
Navigation Graph Generation
   Overall and scenario specific
    navigation graphs can be obtained
         Automatically with the support of the
          CReRIA tool for generation and of
          the GVEdit tool for visualization
   Graphs and documentation
    information can be furtherly edited
         With the support of CReRIA




Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011   11
A case study

   Tudu Lists
         10 KLOC in
          Java/JSP
         Rich Client
          Interfaces
         Existing user documentation (http://www.julien-
          dubois.com/tudu-lists/user-documentation) is limited
          to a list of the 8 main use cases, with 4 screen shots
         Often used as a case study for RIAs reverse
          engineering and testing
Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011         12
Process execution metrics
     3 actors
           Generic User, Logged User, Administrator
     23 use cases
     120 scenarios
           120 collected execution traces
     42 Interfaces
           By clustering together 425 Interface Instances
           Clustering suggestions accepted 420 out of 425 times
     138 Transitions
           By clustering together 306 Transition Instances
           Transition clustering accepted 278 out of 306 times


     120 generated graphs
     120 generated tutorials

    Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011     13
End User Documentation Generation

   On the basis of the information extracted
    and abstracted in the previous phases,
    have been automatically generated:
         Overall navigation Graph
         Scenario execution tutorials and graphs
         End user reference guide



Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011
Overall Navigation Graph




Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011   15
An example of scenario navigation graph
      Classic Graph                                 Graph view with Screenshots
         View

                                                                                  Clickable
                                                                                  nodes




Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011                              16
An example of scenario description

Quick Add
In this scenario a logged user can insert a tudu in a selected list of todos.




 Event Sequences




 Related Regular Scenarios
 Advanced Add
 Related Exception Scenarios
 Insertion of Wrong Data
Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011
Scenario Tutorials

   Automatically generated as HTML hypertexts
         They can be included in the Web application itself

   The tutorial template includes:
         Scenario name and description
         Involved Actors
         Use case name
         For each interface/transition composing the scenario
               Interface name and description
               Transition name and description
                     Input names and values
                     Triggering Event


Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011
Scenario Tutorial example




Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011   19
Scenario Tutorial example




Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011   20
Scenario Tutorial example




Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011   21
Scenario Tutorial example




Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011   22
Possible extensions
   Customization of presentation styles
         Generation in textual formats
         Choose between different styles

   More detailed documentation

   Use of collected traces in testing and reverse
    engineering processes

   Use of collected traces for on-line replaying of tutorials

   Assessment of documentation regression
Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011       23
Conclusions and Future Works

   This paper introduced a process and a tool for
    the semi-automatic generation of end user
    documentation for Web 2.0 applications via
    dynamic analysis

   In future works we plan:
         To increase the features of the tool
         To carry out experiments aiming at the comparison
          between documentation manually generated and semi-
          automatically generated with the support of the tool
               Quality of the documentation
               Needed effort

Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011   24
Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011   25

More Related Content

Viewers also liked

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
 
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
 
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
 
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
 
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
 
Reverse Engineering Finite State Machines from Rich Internet Applications
Reverse Engineering Finite State Machines from Rich Internet ApplicationsReverse Engineering Finite State Machines from Rich Internet Applications
Reverse Engineering Finite State Machines from Rich Internet ApplicationsPorfirio Tramontana
 
3D Printing for Surgical Innovation: A Primer
3D Printing for Surgical Innovation:  A Primer3D Printing for Surgical Innovation:  A Primer
3D Printing for Surgical Innovation: A PrimerNigel Parsad
 
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
 
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
 
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
 
Standard 3D medical images and printing
Standard 3D medical images and printingStandard 3D medical images and printing
Standard 3D medical images and printingYoung Moon
 

Viewers also liked (12)

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
 
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
 
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
 
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...
 
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
 
Reverse Engineering Finite State Machines from Rich Internet Applications
Reverse Engineering Finite State Machines from Rich Internet ApplicationsReverse Engineering Finite State Machines from Rich Internet Applications
Reverse Engineering Finite State Machines from Rich Internet Applications
 
3D Printing for Surgical Innovation: A Primer
3D Printing for Surgical Innovation:  A Primer3D Printing for Surgical Innovation:  A Primer
3D Printing for Surgical Innovation: A Primer
 
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
 
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
 
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
 
Standard 3D medical images and printing
Standard 3D medical images and printingStandard 3D medical images and printing
Standard 3D medical images and printing
 

Similar to Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

DashMash: a Mashup Environment for End User Development
DashMash: a Mashup Environment for End User DevelopmentDashMash: a Mashup Environment for End User Development
DashMash: a Mashup Environment for End User DevelopmentMatteo Picozzi
 
NTT DATA Vertex Open2test Overview
NTT DATA Vertex Open2test OverviewNTT DATA Vertex Open2test Overview
NTT DATA Vertex Open2test OverviewJorrit26
 
Ntt data vertex open2 test overview presentation
Ntt data vertex open2 test overview presentationNtt data vertex open2 test overview presentation
Ntt data vertex open2 test overview presentationJorrit26
 
Linked services for the Web of Data
Linked services for the Web of DataLinked services for the Web of Data
Linked services for the Web of DataJohn Domingue
 
2001 09 ma,ma b2 b process integration tutorial
2001 09 ma,ma b2 b process integration tutorial2001 09 ma,ma b2 b process integration tutorial
2001 09 ma,ma b2 b process integration tutorialMike Marin
 
Second Serenoa Newsletter
Second Serenoa NewsletterSecond Serenoa Newsletter
Second Serenoa NewsletterSerenoa Project
 
Business Event Procesing Beyond The Horizon
Business Event Procesing   Beyond The HorizonBusiness Event Procesing   Beyond The Horizon
Business Event Procesing Beyond The HorizonOpher Etzion
 
02 Ms Online Identity Session 1
02 Ms Online Identity   Session 102 Ms Online Identity   Session 1
02 Ms Online Identity Session 1Sivadon Chaisiri
 
2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial
2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial
2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorialMike Marin
 
Windows Azure Interoperability
Windows Azure InteroperabilityWindows Azure Interoperability
Windows Azure InteroperabilityMihai Dan Nadas
 
Linking Services and Linked Data: Keynote for AIMSA 2012
Linking Services and Linked Data: Keynote for AIMSA 2012Linking Services and Linked Data: Keynote for AIMSA 2012
Linking Services and Linked Data: Keynote for AIMSA 2012John Domingue
 
OpenStack Quantum Network Service
OpenStack Quantum Network ServiceOpenStack Quantum Network Service
OpenStack Quantum Network ServiceLew Tucker
 
Leadership Symposium on Digital Media in Healthcare
Leadership Symposium on Digital Media in HealthcareLeadership Symposium on Digital Media in Healthcare
Leadership Symposium on Digital Media in Healthcaresetstanford
 
Tutorial on Constructing a Web-Server with Patterns at ADC 2004
Tutorial on Constructing a Web-Server with Patterns at ADC 2004 Tutorial on Constructing a Web-Server with Patterns at ADC 2004
Tutorial on Constructing a Web-Server with Patterns at ADC 2004 David Freitas
 
Community Clouds - Shared Infrastructure as a Service
Community Clouds - Shared Infrastructure as a ServiceCommunity Clouds - Shared Infrastructure as a Service
Community Clouds - Shared Infrastructure as a ServiceHarold Teunissen
 
Cisco open network environment
Cisco open network environmentCisco open network environment
Cisco open network environmentdeepers
 
An Ad-hoc Smart Gateway Platform for the Web of Things (IEEE iThings 2013 Bes...
An Ad-hoc Smart Gateway Platform for the Web of Things (IEEE iThings 2013 Bes...An Ad-hoc Smart Gateway Platform for the Web of Things (IEEE iThings 2013 Bes...
An Ad-hoc Smart Gateway Platform for the Web of Things (IEEE iThings 2013 Bes...Darren Carlson
 

Similar to Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications (20)

DashMash: a Mashup Environment for End User Development
DashMash: a Mashup Environment for End User DevelopmentDashMash: a Mashup Environment for End User Development
DashMash: a Mashup Environment for End User Development
 
Grottarossa:Why?
Grottarossa:Why?Grottarossa:Why?
Grottarossa:Why?
 
NTT DATA Vertex Open2test Overview
NTT DATA Vertex Open2test OverviewNTT DATA Vertex Open2test Overview
NTT DATA Vertex Open2test Overview
 
Ntt data vertex open2 test overview presentation
Ntt data vertex open2 test overview presentationNtt data vertex open2 test overview presentation
Ntt data vertex open2 test overview presentation
 
Linked services for the Web of Data
Linked services for the Web of DataLinked services for the Web of Data
Linked services for the Web of Data
 
2001 09 ma,ma b2 b process integration tutorial
2001 09 ma,ma b2 b process integration tutorial2001 09 ma,ma b2 b process integration tutorial
2001 09 ma,ma b2 b process integration tutorial
 
Second Serenoa Newsletter
Second Serenoa NewsletterSecond Serenoa Newsletter
Second Serenoa Newsletter
 
Business Event Procesing Beyond The Horizon
Business Event Procesing   Beyond The HorizonBusiness Event Procesing   Beyond The Horizon
Business Event Procesing Beyond The Horizon
 
Xen.org Latinoware 2009
Xen.org Latinoware 2009Xen.org Latinoware 2009
Xen.org Latinoware 2009
 
02 Ms Online Identity Session 1
02 Ms Online Identity   Session 102 Ms Online Identity   Session 1
02 Ms Online Identity Session 1
 
2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial
2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial
2000 09 dh,mm,mts,mz m (xml world 2000) wf-xml tutorial
 
Windows Azure Interoperability
Windows Azure InteroperabilityWindows Azure Interoperability
Windows Azure Interoperability
 
Linking Services and Linked Data: Keynote for AIMSA 2012
Linking Services and Linked Data: Keynote for AIMSA 2012Linking Services and Linked Data: Keynote for AIMSA 2012
Linking Services and Linked Data: Keynote for AIMSA 2012
 
OpenStack Quantum Network Service
OpenStack Quantum Network ServiceOpenStack Quantum Network Service
OpenStack Quantum Network Service
 
Leadership Symposium on Digital Media in Healthcare
Leadership Symposium on Digital Media in HealthcareLeadership Symposium on Digital Media in Healthcare
Leadership Symposium on Digital Media in Healthcare
 
Tutorial on Constructing a Web-Server with Patterns at ADC 2004
Tutorial on Constructing a Web-Server with Patterns at ADC 2004 Tutorial on Constructing a Web-Server with Patterns at ADC 2004
Tutorial on Constructing a Web-Server with Patterns at ADC 2004
 
Webinos Project
Webinos ProjectWebinos Project
Webinos Project
 
Community Clouds - Shared Infrastructure as a Service
Community Clouds - Shared Infrastructure as a ServiceCommunity Clouds - Shared Infrastructure as a Service
Community Clouds - Shared Infrastructure as a Service
 
Cisco open network environment
Cisco open network environmentCisco open network environment
Cisco open network environment
 
An Ad-hoc Smart Gateway Platform for the Web of Things (IEEE iThings 2013 Bes...
An Ad-hoc Smart Gateway Platform for the Web of Things (IEEE iThings 2013 Bes...An Ad-hoc Smart Gateway Platform for the Web of Things (IEEE iThings 2013 Bes...
An Ad-hoc Smart Gateway Platform for the Web of Things (IEEE iThings 2013 Bes...
 

More from 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 Web Applications
Reverse Engineering Web ApplicationsReverse Engineering Web Applications
Reverse Engineering 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
 
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
 
Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...
Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...
Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...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
 
Migrating Interactive Legacy Systems To Web Services
Migrating Interactive Legacy Systems To Web ServicesMigrating Interactive Legacy Systems To Web Services
Migrating Interactive Legacy Systems To Web ServicesPorfirio 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
 
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
 

More from Porfirio Tramontana (15)

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 Web Applications
Reverse Engineering Web ApplicationsReverse Engineering Web Applications
Reverse Engineering 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
 
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
 
Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...
Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...
Experimenting a Reverse Engineering Technique for Modelling the Behaviour of ...
 
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
 
Migrating Interactive Legacy Systems To Web Services
Migrating Interactive Legacy Systems To Web ServicesMigrating Interactive Legacy Systems To Web Services
Migrating Interactive Legacy Systems To Web Services
 
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
 
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...
 

Recently uploaded

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
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
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
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'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
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Recently uploaded (20)

Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
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!
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
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'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
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 

Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

  • 1. Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications Domenico Amalfitano Anna Rita Fasolino Porfirio Tramontana Dipartimento di Informatica e Sistemistica University of Naples Federico II, Italy
  • 2. Motivation  Web 2.0 Applications have emerged as a new generation of Web applications offering greater usability and interactivity than traditional ones.  Web pages have been transformed in complex GUIs with synchronous and asynchronous interactions with the user and with the resources  End User Documentation needs  The complexity and the variety of interactivity features provided by a modern Web 2.0 Applications may often confuse the user, so end user documentation is needed to improve the usability of the applications Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 2
  • 3. User documentation definitions  According to the IEEE 1063 standard:  Instructional mode  “Usage mode that is intended to teach the use of software in performing tasks”  Reference mode  “Usage mode that is intended to provide quick access to specific information for software users who are generally familiar with the software functions”  Procedure:  “Ordered series of steps that a user follows to do one or more tasks”  Step:  “One element of a procedure. A step contains one or more actions”  Action:  Element of a step that a user performs to complete a procedure.  Tutorial:  “Instructional procedure in which the user exercises software functions using sample data supplied with the software or documentation” Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 3
  • 4. Some documentation examples  Tudu list user documentation (our case study)  Other examples  ASSP Web Application  TravWeb Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 4
  • 5. Web 2.0 applications  Web 2.0 applications have complex User Interfaces, with both client side and server side interactions  Business criticality is related to their learnability, operability and usability  The client side code is usually dynamically generated  Static analysis techniques can extract only a limited set of information Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 5
  • 6. Benefits and effort of a good documentation  Learnability  Operability  Usability  Effort needed to write documentation  Effort needed to maintain the documentation up-to-dated Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 6
  • 7. User documentation generation  Many tools available for the generation of internal documentation, usually based on static analysis of the source code:  Javadoc  Doxygen  Some tools can generate tutorials from dynamic analysis:  Smart Tutor  DocWizards  JTutor  EpiDocX  Is it possible to support and partially automate the process of generation of end user documentation for a Web 2.0 application? Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 7
  • 8. Our documentation generation approach Use Case RIA  Supports the automatic generationAnalystsome end user of Scenarios documentation items RIA FSMs Overall navigation Graph Dynamic  Analysis  Scenario execution tutorials Collected Traces  End user reference guide Navigational Edited FSMs Model  Three steps: Repository Generation  Web Application Dynamic Analyis User Generation of the Navigation Graph Documentation  Generation  End User Documentation Generation Introductory Reference Manual Tutorials Guide Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 8
  • 9. Web Application Dynamic Analysis Use Case Act or + Name 1..* 1..* + Name Use case scenarios of the Web application are navigated + Description  and described by the documenter 1..* With the support of the CReRIA tool Scenar io  Ex cept ion Scenar io + Name He has to give a name to any Interface Instance and to + Description  1 any Transition Instance 1 Ex ecut ion Tr ace  The tool suggests the reuse of identical names when it judges that the interface/transitions are “similar”Previouspreviously 1..* + to encountered and described ones 0..1 2..*  Different clustering heuristics are availablent er face I nst ance + Next I 0..1 Tr ansit ion I nst ance + Screenshot 1..* 1..* I nt er face Class Tr ansit ion Class + Name + Name + Description + Description + Node 1..* + Edge 1..* Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 Nav igat ion Gr aph 9
  • 10. Web Application Dynamic Analysis Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 10
  • 11. Navigation Graph Generation  Overall and scenario specific navigation graphs can be obtained  Automatically with the support of the CReRIA tool for generation and of the GVEdit tool for visualization  Graphs and documentation information can be furtherly edited  With the support of CReRIA Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 11
  • 12. A case study  Tudu Lists  10 KLOC in Java/JSP  Rich Client Interfaces  Existing user documentation (http://www.julien- dubois.com/tudu-lists/user-documentation) is limited to a list of the 8 main use cases, with 4 screen shots  Often used as a case study for RIAs reverse engineering and testing Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 12
  • 13. Process execution metrics  3 actors  Generic User, Logged User, Administrator  23 use cases  120 scenarios  120 collected execution traces  42 Interfaces  By clustering together 425 Interface Instances  Clustering suggestions accepted 420 out of 425 times  138 Transitions  By clustering together 306 Transition Instances  Transition clustering accepted 278 out of 306 times  120 generated graphs  120 generated tutorials Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 13
  • 14. End User Documentation Generation  On the basis of the information extracted and abstracted in the previous phases, have been automatically generated:  Overall navigation Graph  Scenario execution tutorials and graphs  End user reference guide Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011
  • 15. Overall Navigation Graph Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 15
  • 16. An example of scenario navigation graph Classic Graph Graph view with Screenshots View Clickable nodes Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 16
  • 17. An example of scenario description Quick Add In this scenario a logged user can insert a tudu in a selected list of todos. Event Sequences Related Regular Scenarios Advanced Add Related Exception Scenarios Insertion of Wrong Data Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011
  • 18. Scenario Tutorials  Automatically generated as HTML hypertexts  They can be included in the Web application itself  The tutorial template includes:  Scenario name and description  Involved Actors  Use case name  For each interface/transition composing the scenario  Interface name and description  Transition name and description  Input names and values  Triggering Event Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011
  • 19. Scenario Tutorial example Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 19
  • 20. Scenario Tutorial example Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 20
  • 21. Scenario Tutorial example Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 21
  • 22. Scenario Tutorial example Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 22
  • 23. Possible extensions  Customization of presentation styles  Generation in textual formats  Choose between different styles  More detailed documentation  Use of collected traces in testing and reverse engineering processes  Use of collected traces for on-line replaying of tutorials  Assessment of documentation regression Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 23
  • 24. Conclusions and Future Works  This paper introduced a process and a tool for the semi-automatic generation of end user documentation for Web 2.0 applications via dynamic analysis  In future works we plan:  To increase the features of the tool  To carry out experiments aiming at the comparison between documentation manually generated and semi- automatically generated with the support of the tool  Quality of the documentation  Needed effort Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 24
  • 25. Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 25

Editor's Notes

  1. 3385067211
  2. Problem to solve: Asynchronous Interactions