Please use this identifier to cite or link to this item: https://hdl.handle.net/1822/12267

TitleGUIsurfer: a tool for reverse engineering of graphical user interfaces
Author(s)Silva, João Carlos
Advisor(s)Campos, J. Creissac
Saraiva, João Alexandre
Issue date28-Dec-2010
Abstract(s)Tools are currently available to developers that allow for fast development of user interfaces with graphical components. However, the design of interactive systems does not seem to be much improved by the use of such tools. Interfaces are often difficult to understand and use for end users. In many cases users have problems in identifying all the supported tasks of a system, or in understanding how to achieve their goals. Moreover, the code produced by such tools is difficult to understand and maintain. In the context of an ongoing effort to develop tools to support the automated analysis of interactive system designs, we investigate the applicability of reverse engineering approaches to graphical user interface (GUIS) source code. Our objective consists in developing tools to automatically extract models containing all possible GUI behaviors, from its source code. The model should specify when a particular GUI event can occur, which are the related conditions, which system actions are executed and which GUI state is generated next. We want to to be able to reason about and test this GUI model in order to analyse aspects of the original applications behavior, and the quality of the implementation. GUISURFER, a tool developed in the context of this doctoral thesis, is capable of automatically deriving and reason about graphical user interface behavioral models of applications written in Java/Swing and WxHaskell. This work is useful to enable the analysis of existing interactive applications, and also when an existing application must be ported or simply updated.
Os programadores já têm ao seu dispor diversas ferramentas que permitem o rápido desenvolvimento de interfaces gráficas com o utilizador (GUI). Todavia, o desenho dos sistemas interactivos não parece tirar partido destas ferramentas. Em muitos casos, os utilizadores têm problemas em identificar todas as tarefas suportadas pelo sistema, e têm dificuldades em perceber como atingir determinados objectivos. Por outro lado, o código gerado por estas ferramentas é difícil de analisar e manipular. No contexto do desenvolvimento de ferramentas para dar suporte à analise automatizada de sistemas interactivos, foram realizados estudos baseados em engenharia reversa para a extracção de modelos comportamentais de interfaces com o utilizador. O nosso objectivo consiste em desenvolver ferramentas para extrair automaticamente modelos descrevendo o comportamento de GUI. Os modelos descrevem quando um evento pode ocorrer, quais são as respectivas condições, quais são as acções executadas e qual é o estado da GUI gerado a seguir. É possível raciocinar e testar os modelos da GUI de modo a analisar aspectos relacionados com a usabilidade da aplicação e a qualidade da sua implementação. A ferramenta, com nome GUISURFER, desenvolvida no âmbito deste trabalho de doutoramento, permite extrair e testar modelos de comportamentos de interface gráficas com o utilizador escritas na linguagem Java/Swing e WxHaskell. Este trabalho é útil para analisar aplicações existentes bem como para dar apoio na manutenção de aplicações.
TypeDoctoral thesis
DescriptionTese de doutoramento em Informática (ramo de conhecimento em Fundamentos da Computação)
URIhttps://hdl.handle.net/1822/12267
AccessRestricted access (UMinho)
Appears in Collections:BUM - Teses de Doutoramento
DI/CCTC - Teses de Doutoramento (phd thesis)

Files in This Item:
File Description SizeFormat 
tese final.pdf
  Restricted access
1,93 MBAdobe PDFView/Open

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID