3 research outputs found
Reverse engineering of web applications
The MAP-i Doctoral Program of the Universities of Minho, Aveiro and PortoEven so many years after its genesis, the Internet is still growing. Not only are
the users increasing, so are the number of different programming languages or
frameworks for building Web applications. However, this plethora of technologies
makes Web applications’ source code hard to comprehend and understand,
thus deteriorating both their debugging and their maintenance costs.
In this context, a number of proposals have been put forward to solve
this problem. While, on one hand, there are techniques that analyze the entire
source code of Web applications, the diversity of available implementation
technology makes these techniques return unsatisfactory results. On the other
hand, there are also techniques that dynamically (but blindly) explore the applications
by running them and analyzing the results of randomly exploring
them. In this case the results are better, but there is always the chance that
some part of the application might be left unexplored.
This thesis investigates if an hybrid approach combining static analysis and
dynamic exploration of the user interface can provide better results. FREIA, a
framework developed in the context of this thesis, is capable of analyzing Web
applications automatically, deriving structural and behavioral interface models
from them.Mesmo decorridos tantos anos desde a sua génese, a Internet continua a crescer.
Este crescimento aplica-se não só ao número de utilizadores como também ao
número de diferentes linguagens de programação e frameworks utilizadas para
a construção de aplicações Web. No entanto, esta pletora de tecnologias leva
a que o código fonte das aplicações Web seja difícil de compreender e analisar,
deteriorando tanto o seu depuramento como os seus custos de manutenção.
Neste contexto, foram desenvolvidas algumas propostas com intuito de resolver
este problema. Não obstante, por um lado, existirem técnicas que analisam
a totalidade do código fonte das aplicações Web, a diversidade das tecnologias
de implementação existentes fazem com que estas técnicas gerem
resultados insatisfatórios. Por outro lado, existem também técnicas que, dinamicamente
(apesar de cegamente), exploram as aplicações, executando-as e
analisando os resultados da sua exploração aleatória. Neste caso, os resultados
são melhores, mas corremos o risco de ter deixado alguma parte da aplicação
por explorar.
Esta tese investiga se uma abordagem híbrida, combinando a análise estática
com a exploração dinâmica da interface do utilizador consegue produzir
melhores resultados. FREIA, uma framework desenvolvida no contexto desta
tese é capaz de, automaticamente, analisar aplicações Web, derivando modelos
estruturais e comportamentais da interface das mesmas.Esta investigação foi financiada pela Fundação para a Ciência e Tecnologia através
da concessão de uma bolsa de doutoramento (SFRH/BD/71136/2010) no âmbito
do Programa Operacional Potencial Humano (POPH), comparticipado pelo Fundo
Social Europeu e por fundos nacionais do QREN
Action graphs and user performance analysis
A user operating an interactive system performs actions such as “pressing a button ” and these actions cause state transitions in the system. However to perform an action, a user has to do what amounts to a state transition themselves, from the state of having completed the previous action to the state of starting to perform the next action; this user transition is out of step with the system’s transition. This paper introduces action graphs, an elegant way of making user transitions explicit in the arcs of a graph derived from the system specification. Essentially, a conventional transition system has arcs labeled in the form “user performs action A ” whereas an action graph has arcs labelled in the form “having performed action P, the user performs Q. ” Action graphs support many modelling techniques (such as GOMS, KLM or shortest paths) that could have been applied to the user’s actions or to the system graph, but because it combines both, the modelling techniques can be used more powerfully. Action graphs can be used to directly apply user performance metrics and hence perform formal evaluations of interactive systems. The Fitts Law is one of the simplest and most robust of such user modelling techniques, and is used as an illustration of the value of action graphs in this paper. Action graphs can help analyze particular tasks, any sample of tasks, or all possible tasks a device supports