using dynamic analysis for generating end user documentation for web 2.0 applications

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

Upload: porfirio-tramontana

Post on 24-May-2015

119 views

Category:

Technology


2 download

DESCRIPTION

The relevance of end user documentation for improving usability, learnability and operability of software applications is well known. However, software processes often devote little effort to the production of end user documentation due to budget and time constraints, or leave it not up-to-date as new versions of the application are produced. In particular, in the field of Web applications, due to their quick release time and the rapid evolution, end user documentation is often lacking, or it is incomplete and of poor quality. In this paper a semi-automatic approach for user documentation generation of Web 2.0 applications is presented. The approach exploits dynamic analysis techniques for capturing the user visible behaviour of a web application and, hence, producing end user documentation compliant with known standards and guidelines for software user documentation. A suite of tools support the approach by providing facilities for collecting user session traces associated with use case scenarios offered by the Web application, for abstracting a Navigation Graph of the application, and for generating tutorials and procedure descriptions. The obtained documentation is provided in textual and hypertextual formats. In order to show the feasibility and usefulness of the approach, an example of generating the user documentation for an existing Web application is presented in the paper.

TRANSCRIPT

Page 1: Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

Using Dynamic Analysis for Using Dynamic Analysis for Generating End User Generating End User

Documentation for Web 2.0 Documentation for Web 2.0 ApplicationsApplications

Domenico AmalfitanoDomenico Amalfitano

Anna Rita FasolinoAnna Rita Fasolino

Porfirio Tramontana Porfirio Tramontana

Dipartimento di Informatica e Dipartimento di Informatica e SistemisticaSistemistica

University of Naples Federico II, ItalyUniversity of Naples Federico II, Italy

Page 2: Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 22

MotivationMotivation

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

Page 3: Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 33

User documentation definitionsUser documentation definitions

According to the IEEE 1063 standard:According to the IEEE 1063 standard: Instructional modeInstructional mode

““Usage mode that is intended to teach the use of software in performing Usage mode that is intended to teach the use of software in performing tasks”tasks”

Reference modeReference mode ““Usage mode that is intended to provide quick access to specific information Usage mode that is intended to provide quick access to specific information

for software users who are generally familiar with the software functions”for software users who are generally familiar with the software functions” Procedure:Procedure:

““Ordered series of steps that a user follows to do one or more tasks”Ordered series of steps that a user follows to do one or more tasks” Step:Step:

““One element of a procedure. A step contains one or more actions”One element of a procedure. A step contains one or more actions” Action:Action:

Element of a step that a user performs to complete a procedure.Element of a step that a user performs to complete a procedure. Tutorial:Tutorial:

““Instructional procedure in which the user exercises software functions using Instructional procedure in which the user exercises software functions using sample data supplied with the software or documentation”sample data supplied with the software or documentation”

Page 4: Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 44

Some documentation examplesSome documentation examples

Tudu list user documentation (our case study)Tudu list user documentation (our case study)

Other examplesOther examples ASSP Web Application ASSP Web Application TravWebTravWeb

Page 5: Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 55

Web 2.0 applicationsWeb 2.0 applications

Web 2.0 applications have complex Web 2.0 applications have complex User Interfaces, with both client side User Interfaces, with both client side and server side interactionsand server side interactions Business criticality is related to their Business criticality is related to their

learnability, operability and usabilitylearnability, operability and usability The client side code is usually The client side code is usually

dynamically generateddynamically generated Static analysis techniques can extract only Static analysis techniques can extract only

a limited set of informationa limited set of information

Page 6: Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 66

Benefits and effort of a good Benefits and effort of a good documentationdocumentation

LearnabilityLearnability OperabilityOperability UsabilityUsability

Effort needed to write documentationEffort needed to write documentation Effort needed to maintain the Effort needed to maintain the

documentation up-to-dateddocumentation up-to-dated

Page 7: Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 77

User documentation generationUser documentation generation

Many tools available for the generation of internal Many tools available for the generation of internal documentation, usually based on static analysis of the documentation, usually based on static analysis of the source code:source code: JavadocJavadoc DoxygenDoxygen

Some tools can generate tutorials from dynamic analysis:Some tools can generate tutorials from dynamic analysis: Smart TutorSmart Tutor DocWizardsDocWizards JTutorJTutor EpiDocXEpiDocX

Is it possible to support and partially automate Is it possible to support and partially automate the process of generation of end user the process of generation of end user documentation for a Web 2.0 application?documentation for a Web 2.0 application?

Page 8: Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 88

Our documentation generation Our documentation generation approachapproach

Supports the automatic generation of some end Supports the automatic generation of some end user documentation itemsuser documentation items Overall navigation GraphOverall navigation Graph Scenario execution tutorialsScenario execution tutorials End user reference guideEnd user reference guide

Three steps:Three steps: Web Application Dynamic AnalyisWeb Application Dynamic Analyis Generation of the Navigation GraphGeneration of the Navigation Graph End User Documentation GenerationEnd User Documentation Generation

AnalystAnalyst

RIA RIA Dynamic Dynamic AnalysisAnalysis

RIARIA

Navigational Navigational Model Model

GenerationGeneration

User User Documentation Documentation

GenerationGeneration

Introductory Introductory ManualManual

Reference Reference GuideGuideTutorialsTutorials

FSMsFSMs

Collected TracesCollected Traces

RepositoryRepositoryEdited FSMsEdited FSMs

Use Case Use Case ScenariosScenarios

Page 9: Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 99

Web Application Dynamic AnalysisWeb Application Dynamic Analysis

Use case scenarios of the Web application are Use case scenarios of the Web application are navigated and described by the documenternavigated and described by the documenter With the support of the CReRIA toolWith the support of the CReRIA tool

He has to give a name to any Interface Instance He has to give a name to any Interface Instance and to any Transition Instanceand to any Transition Instance The tool suggests the reuse of identical names when it The tool suggests the reuse of identical names when it

judges that the interface/transitions are “similar” to judges that the interface/transitions are “similar” to previously encountered and described onespreviously encountered and described ones

Different clustering heuristics are availableDifferent clustering heuristics are available

Use Case

+Name+Description

Scenario

+Name+Description

Execution Trace

Interface Class

+Name+Description

Interface Instance

+Screenshot

Transition Class

+Name+Description

Transition Instance

1..*

11

1..*1..*

Exception Scenario

Actor

+Name

Navigation Graph

+Node1..*

+Edge1..*

1..*1..*

2..*1..*

+Next

+Previous

0..1

0..1

Page 10: Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 1010

Web Application Dynamic AnalysisWeb Application Dynamic Analysis

Page 11: Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

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

Navigation Graph GenerationNavigation Graph Generation

1111

Overall and scenario specific Overall and scenario specific navigation graphs can be navigation graphs can be obtained obtained Automatically with the support Automatically with the support

of the CReRIA tool for of the CReRIA tool for generation and of the GVEdit generation and of the GVEdit tool for visualizationtool for visualization

Graphs and documentation Graphs and documentation information can be furtherly information can be furtherly editededited With the support of CReRIAWith the support of CReRIA

Page 12: Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

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

A case studyA case study

1212

Tudu ListsTudu Lists 10 KLOC in 10 KLOC in

Java/JSPJava/JSP Rich Client Rich Client

InterfacesInterfaces

Existing user documentation Existing user documentation (http://www.julien-dubois.com/tudu-lists/user-(http://www.julien-dubois.com/tudu-lists/user-documentation) is limited to a list of the 8 main documentation) is limited to a list of the 8 main use cases, with 4 screen shotsuse cases, with 4 screen shots

Often used as a case study for RIAs reverse Often used as a case study for RIAs reverse engineering and testingengineering and testing

Page 13: Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

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

Process execution metricsProcess execution metrics

1313

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

Page 14: Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

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

End User Documentation Generation

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

Page 15: Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

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

Overall Navigation GraphOverall Navigation Graph

1515

Page 16: Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

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

An example of scenario navigation An example of scenario navigation graphgraph

1616

Classic Graph View

Graph view with Screenshots

Clickable nodes

Page 17: Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

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

Related Regular ScenariosAdvanced AddRelated Exception ScenariosInsertion of Wrong Data

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

Event Sequences

An example of scenario descriptionAn example of scenario description

Page 18: Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011Porfirio 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

Page 19: Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

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

Scenario Tutorial exampleScenario Tutorial example

1919

Page 20: Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

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

Scenario Tutorial exampleScenario Tutorial example

2020

Page 21: Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

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

Scenario Tutorial exampleScenario Tutorial example

2121

Page 22: Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

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

Scenario Tutorial exampleScenario Tutorial example

2222

Page 23: Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

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

Possible extensionsPossible extensions

2323

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

Page 24: Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 2424

Conclusions and Future WorksConclusions and Future Works

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

In future works we plan:In future works we plan: To increase the features of the toolTo increase the features of the tool To carry out experiments aiming at the To carry out experiments aiming at the

comparison between documentation manually comparison between documentation manually generated and semi-automatically generated generated and semi-automatically generated with the support of the toolwith the support of the tool

Quality of the documentationQuality of the documentation Needed effortNeeded effort

Page 25: Using Dynamic Analysis for Generating End User Documentation for Web 2.0 Applications

Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011Porfirio Tramontana – WSE 2011 – Williamsburg – 09/30/2011 2525