Xiaoyu Cui

Students
Name: Xiaoyu Cui
Email: xcui@students.cs.uu.nl
Homepage:

Planning

indicate which courses or other actitivities you plan to take in which period (for convenience links to ST courses have been added; replace if necessary)

2005-2006

Period 1

Period 2

Period 3

Period 4

2006-2007

Period 1

Period 2

Period 3

  • thesis

Period 4

  • thesis

2007-2008

Period 1

  • thesis

Period 2

  • thesis

Period 3

  • thesis

Period 4

  • thesis

2008-2009

Period 1

  • thesis

Period 2

  • thesis

Thesis Project

Automated Usability Prediction of Web-based User Interface (UI)

Project

Project title: Automated Model-based analysis of Web-based User Interface (UI)
Advisor: Wishnu Prasetya
Start date: 15/2 2007
Proposal approved: week46 2007
End date:

Description

Many companies have moved to use web applications to run their business (interact with their customers, internal administrations, business scheduling, etc) and to provide global access over Internet to their business.

Web application is very attractive, in particular when compared to traditional client-server applications. A web application is platform independent. Since all its functions can be accessed via a web browser, a web application requires no effort to distribute. Furthermore, releasing a new version only requires changes at the server side. So, installation, upgrade, and maintenance efforts are minimized It is also supported by many technologies e.g. Java, Javascript, DHTML, Flash, Ajax enabling much better interactive experience than before (e.g. by playing audio, drawing on screen, etc).

In this project we will focus on the usability of web applications. It is not uncommon that a browser-based user interface turns out to be very poor in terms of usability. Partly this is because web based UI are updated frequently (contents updated, new links and pages added, redesign layout, etc). But furthermore methodologies and tools for evaluating the usability of web based UI are not efficient (e.g. they may requires the use of many users) or not effective.

With the rapid growth in number and complexity of web applications, we would need a better tool.

Progress

After I finished my 10th courses at Feb 2007, I started full time job at TomTom? . I was quite confident at that time that I can handle both my thesis working and full time working. Although I tried to work hard by using all my weekends and holidays, at beginning, the progress of my thesis was very slow. I would like to give many thanks to Wishnu Prasetya who is my supervisor. He gave me many helps and encourage me keep going when I almost decide to give up… Below is my progress records, it crossed two year, first year shows my progress is a bit slow but the situation gets better at second year.

2007-2008

Week 6
  • First meeting with Wishnu

Week 7
  • Read about SMV
  • Read concurrent haskell implementation

Week 8
  • Read WebCube?

Week 9-12
  • Slow progress on SPIN
  • spin basic manual
  • The model checker spin by Gerard J. Holzmann
  • other spin knowledge at web page

Week 13 – 16
  • Write pre-proposal
  • Study user interface specification

Week 17 – 24
  • Investigate possibility about building combinators based on haskell html to generate codes which can be used by spin to verify properties.
  • Standard libraries study on html library and WASH

Week 25
  • Learn usability in general
  • Learn usability for web application

Week 26
  • Write proposal chapter motivation
  • Write proposal chapter problem statement

Week 27
  • Write proposal chapter approach

Week 28 - 32
  • Finalize first version of proposal

Week 33 - 36
  • Study existing tools
  • WebCAT?
  • Morae
  • TREVIS with GOMS model

Week 37 - 41
  • Rewrite second version of proposal

Week 42 – 43
  • Investigate possibility to implement my own test engine
  • Look at T2

Week 44 - 45
  • Construct case study of web example

Week 46
  • Proposal approved

Week 47 - 50
  • Holiday

Week 51
  • Finish Construct case study of web example

2008-2009

Week 1
  • Exist solution investigation including webcat, IBM Ezort, etc
  • Learn card sorting
  • Learn cluster analysis like distance measurement, clustering algorithm.

Week 2
  • Investigate how to integrate page categorization into development lifecycle
  • Build study case for page categorization
  • Write texts for page categorization

Week 3
  • Learn NGOSL model
  • Learn Similarity of web application

Week 4
  • Design solution for similarity
  • Design learn-ability for web application

Week 5
  • Finalize page categorization part
  • Finalize similarity and learn-ability part

Week 6
  • Learn CTL, LTL
  • Learn basic model checking
  • Learn LTL model checking with SPIN

Week 7
  • Learn CTL model checking with SMV
  • Case study of model checking with SMV

Week 8
  • Study HTL
  • Study Kripke
  • Design UI model

Week 9
  • Design UI constraints
  • Write chapter UI model
  • Extend HTL

Week 10
  • Investigate how NGOMSL can be integrated
  • Write chapter HTL

Week 11
  • Summarize usability properties for web application
  • Write chapter EHTL

Week 12
  • Improve chapter UI model
  • Investigate how express usability properties in CTL

Week 13
  • Improve EHTL
  • Write chapter UI constraints
  • Improve chapter UI model

Week 14
  • Write chapter our approach
  • Write chapter NGOMSL

Week 15
  • Improve chapter HTL
  • Improve chapter Kripke
  • Improve chapter NGOMSL

Week 16
  • Switch current document to Latex
  • Start to refactor all chapteres

Week 17
  • Write chapter UI model
  • Kirpke structure
  • Computation tree logic

Week 18
  • Write chapter UI model
  • Write chapter web based UI composition
  • Representing web based UI with UI model
  • Improve previous sections in UI model chapter

Week 19
  • Improve chapter UI model
  • Kirpke structure
  • Computation tree logic
  • UI model

Week 20
  • Write chapter UI task and UI category
  • Write chapter UI specifications

Week 21
  • Write chapter UI verification
  • Write chapter UI testing

Week 22
  • Write chapter introduction -Motivation -Problems -Approach overview -Contribution

Week 23
  • Design GUI Builder
  • Create GUI Builder

Week 24
  • Create UIModel XMLLoader
  • Improve GUI Builder

Week 25
  • Create UI model
  • Create CTL specification

Week 26
  • Create UIMetaModel? Generator
  • Create SMV converter

Week 27
  • Create TestGnerator?
  • Create TestLanucher? which integrate with selenium

Week 28
  • Selenium extension for memory leaks
  • sIEve extension for memory leaks

Week 29
  • Refactor Introduction chapter
  • Add new chapter about prototype overview

Week 30
  • Improve section motivation, problems, approach overview and contribution
  • Improve section Kripke structure, CTL, SMV program

Week 31
  • Improve section memory leaks in web-based application
  • Improve section sIEve
  • Improve section our approach of memory leak detection

Last updated by Xiaoyu Cui at 21 Aug 2008