João C. P. Faria

Learn More
This paper presents a new approach to model and test hierarchical Graphical User Interfaces (GUIs). We exploit the structure of Hierarchical Finite State Machines (HFSMs) to reduce the number of states in the ”flat” Finite State Machine (FSM) resulting from the exploration of the model. Firstly, independent dialogs are identified and highlighted in a HFSM(More)
This paper presents an approach to diminish the effort required in GUI modelling and test coverage analysis within a model-based GUI testing process. A familiar visual notation – a subset of UML with minor extensions – is used to model the structure, behaviour and usage of GUIs at a high level of abstraction and to describe test adequacy criteria. The GUI(More)
This paper presents extensions to the Spec Explorer tool to automate the testing of software applications through their GUI based on a formal specification in Spec#. The Spec Explorer tool, developed at Microsoft Research, already supports the automatic generation and execution of test cases for API testing, but requires that the actions described in the(More)
Software testing is a very important activity of the software development process. To expedite the testing process and improve the quality of the tests, models are increasingly used as a basis to derive test cases automatically - a technique known as model-based testing (MBT). Given a system model and a test suite derived automatically from the model or(More)
The emergence of more powerful and resourceful mobile devices, as well as new wireless communication technologies, is turning the concept of ad-hoc networking into a viable and promising possibility for ubiquitous information sharing. However, the inherent characteristics of ad-hoc networks bring up new challenges for which most conventional systems don’t(More)
It is proposed an approach to integrate formal methods in the software development process, with an emphasis on the user interface development. The approach covers the specification by means of formal models, early model animation and validation, construction and conformity testing of the user interface implementation with respect to the specification.(More)
Transactional Memory is a promising parallel computing paradigm, increasingly used nowadays, that allows easy parallelization of sequential programs and can expose a great level of parallelism. Many different approaches exist. One such approach is parallel-nested Transactional Memory, where transactions are allowed to spawn their own child transactions,(More)
User interface testing is a very important but time consuming activity. To automate and systematize the testing process, models can be used to derive test cases automatically – a technique known as model-based testing. Given a model representing the intended system behavior and a test suite derived from the model or produced manually, the coverage(More)
We apply the Bayesian framework to assess the presence of a correlation between two quantities. To do so, we estimate the probability distribution of the parameter of interest, ρ, characterizing the strength of the correlation. We provide an implementation of these ideas and concepts using python programming language and the pyMC module in a very short (∼(More)
  • 1