Papers by Pablo Albertengo

En se presenta a Fastest 1 , la primera herramienta automática que implementa par- cialmente el T... more En se presenta a Fastest 1 , la primera herramienta automática que implementa par- cialmente el Test Template Framework (TTF). El TTF es un framework para testing basado en modelos (MBT), especialmente adecuado para testing de unidad. Fue propuesto por Phil Stocks y David Carrington en [19] [18] [12]. En el TTF el espacio de entrada de una operación Z es particionado en lo que se denominan clases de test 2 , las cuales dan lugar a los árboles de test como los que se observan en la Figura 2.2. Stocks y Carrington sugieren que los casos de test o casos de prueba deben ser derivados solo de las hojas de dichos árboles. El problema que surge es que, debido a ciertas particularidades del TTF, pueden existir hojas de las cuales no es posible obtener un caso de prueba debido a que sus predicados son contradicciones o contienen ciertos términos indenidos. Por lo tanto, estas hojas deberían ser podadas del árbol de test en una etapa previa al proceso de derivación de casos de prueba. El problema de la poda de árboles de testing se puede reducir entonces a determinar qué hojas del árbol son satisfactibles y descartar al resto, o bien, se puede reducir a identicar qué hojas no son satisfactibles y eliminarlas del árbol. El primer camino implica el desarrollo de una herramienta del estilo de los SMT solvers 3 que implemente por completo el toolkit matemático de Z [15], lo cual, ciertamente, no es una tarea trivial dado el número de teorías implicadas en el toolkit. Precisamente, el rico lenguaje matemático empleado por los especicadores Z convierte al problema de la poda de árboles de test aún más complejo, ya que la mayoría de las contradicciones están relacionadas con contradicciones matemáticas y no con contradicciones lógicas. En este trabajo tomaremos el segundo camino, es decir, trataremos de determinar qué clases no son satisfactibles. Nuestro enfoque está más relacionado con la prueba automática de teoremas, aunque no implicará la implementación de un probador de teoremas para la notación Z, ni la utilización de uno ya existente. El problema de la poda de clases de prueba inconsistentes es tan importante como el problema de obtener casos de prueba a partir de las clases de prueba que son satisfactibles. Esto se debe principalmente a 2 causas: El TTF tiende a generar muchas clases de prueba insatisfactibles 1 Fastest está disponible públicamente en en la sección de Herramientas 2 También denominadas objetivos de test, clases de prueba, etc. 3 Un SMT solver se encarga de analizar la satisfactibilidad en cierto tipo especíco de fórmulas lógicas de primer orden en las cuales ciertos predicados y símbolos de función tienen una interpretación basada en un conjunto de teorías asociadas de primer orden con igualdad

En se presenta a Fastest 1 , la primera herramienta automática que implementa par- cialmente el T... more En se presenta a Fastest 1 , la primera herramienta automática que implementa par- cialmente el Test Template Framework (TTF). El TTF es un framework para testing basado en modelos (MBT), especialmente adecuado para testing de unidad. Fue propuesto por Phil Stocks y David Carrington en [19] [18] [12]. En el TTF el espacio de entrada de una operación Z es particionado en lo que se denominan clases de test 2 , las cuales dan lugar a los árboles de test como los que se observan en la Figura 2.2. Stocks y Carrington sugieren que los casos de test o casos de prueba deben ser derivados solo de las hojas de dichos árboles. El problema que surge es que, debido a ciertas particularidades del TTF, pueden existir hojas de las cuales no es posible obtener un caso de prueba debido a que sus predicados son contradicciones o contienen ciertos términos indenidos. Por lo tanto, estas hojas deberían ser podadas del árbol de test en una etapa previa al proceso de derivación de casos de prueba. El problema de la poda de árboles de testing se puede reducir entonces a determinar qué hojas del árbol son satisfactibles y descartar al resto, o bien, se puede reducir a identicar qué hojas no son satisfactibles y eliminarlas del árbol. El primer camino implica el desarrollo de una herramienta del estilo de los SMT solvers 3 que implemente por completo el toolkit matemático de Z [15], lo cual, ciertamente, no es una tarea trivial dado el número de teorías implicadas en el toolkit. Precisamente, el rico lenguaje matemático empleado por los especicadores Z convierte al problema de la poda de árboles de test aún más complejo, ya que la mayoría de las contradicciones están relacionadas con contradicciones matemáticas y no con contradicciones lógicas. En este trabajo tomaremos el segundo camino, es decir, trataremos de determinar qué clases no son satisfactibles. Nuestro enfoque está más relacionado con la prueba automática de teoremas, aunque no implicará la implementación de un probador de teoremas para la notación Z, ni la utilización de uno ya existente. El problema de la poda de clases de prueba inconsistentes es tan importante como el problema de obtener casos de prueba a partir de las clases de prueba que son satisfactibles. Esto se debe principalmente a 2 causas: El TTF tiende a generar muchas clases de prueba insatisfactibles 1 Fastest está disponible públicamente en en la sección de Herramientas 2 También denominadas objetivos de test, clases de prueba, etc. 3 Un SMT solver se encarga de analizar la satisfactibilidad en cierto tipo especíco de fórmulas lógicas de primer orden en las cuales ciertos predicados y símbolos de función tienen una interpretación basada en un conjunto de teorías asociadas de primer orden con igualdad
Flowgate Consulting and CIFASIS
Abstract—Fastest is a model-based testing tool for the Z notation providing an almost automatic i... more Abstract—Fastest is a model-based testing tool for the Z notation providing an almost automatic implementation of the Test Template Framework. The core of this document is an example showing how to use Fastest to automatically derive abstract test cases from a Z specification. I. MODEL-BASED TESTING Model-based testing (MBT) is a well-known technique aimed to test software systems from a formal model [1], [2]. MBT approaches start with a formal model or specification of the software, from which test cases are generated, as shown in Fig. 1. These techniques have been developed and applied to models written in different formal notations, such as Z [3], finite state machines and their extensions [4], B [5], algebraic specifications [6], and so on. requirements
Lecture Notes in Computer Science, 2011
Model-based testing (MBT) generates test cases by analysing a formal model of the system under te... more Model-based testing (MBT) generates test cases by analysing a formal model of the system under test (SUT). In many MBT methods, these test cases are too abstract to be executed. Therefore, an executable representation of them is necessary to test the SUT. So far, the MBT community has focused on methods that automate the generation of test cases, but less has been done in making them executable. In this paper we propose a language to specify rules that can be automatically applied to produce an executable representation of test cases generated by the Test Template Framework (TTF), a MBT method for the Z notation.

Software Testing, Verification and Reliability, 2012
This paper describes tool support that has been implemented for the Test Template Framework (TTF)... more This paper describes tool support that has been implemented for the Test Template Framework (TTF). The TTF is a model-based testing (MBT) method specially well-suited for unit testing from Z specifications. Although the TTF is a sound MBT method and it has been widely referenced since its first publication, attention in recent years has decayed. In fact, some have argued that generating abstract test cases following the TTF is a manual task requiring that its users perform complex predicate manipulations. This paper shows that these observations are dubious by describing Fastest, a tool that implements solutions for all these issues and, according to many experiments, produces abstract test cases for more than 80% of the satisfiable test specifications. Furthermore, it is claimed that Fastest fulfils the needs of the Z user community regarding MBT tools, which is supported with a range of case studies.
2011 IEEE 34th Software Engineering Workshop, 2011
We have applied Fastest, an implementation of the Test Template Framework, to five real case stud... more We have applied Fastest, an implementation of the Test Template Framework, to five real case studies of aerospace software. This involved the formalization in the Z notation of nontrivial parts of each system. One of these models, for instance, formalizes a significant portion of the ECSS-E-70-41A aerospace standard. The models were then fed into Fastest, which automatically generated detailed functional abstract test cases. Since these test cases are independent of any implementation, they can be used to test any of them. Furthermore, we were able to semi-automatically translate them into English so they can be used by domain experts performing independent validation and verification activities.
2010 8th IEEE International Conference on Software Engineering and Formal Methods, 2010
Fastest is an automatic implementation of Phil Stocks and David Carrington's Test Template Framew... more Fastest is an automatic implementation of Phil Stocks and David Carrington's Test Template Framework (TTF) [1], a model-based testing (MBT) framework for the Z formal notation. In this paper we present a new feature of Fastest that helps TTF users to eliminate inconsistent test classes automatically. The method is very simple and practical, and makes use of the peculiarities of the TTF. Perhaps its most interesting features are extensibility and ease of use, since it does not assume previous knowledge on theorem proving. Also we compare the solution with a first attempt using the Z/EVES proof assistant and with the HOL-Z environment. At the end, we show the results of an empirical assessment based on applying Fastest to four real-world, industrial-strength case studies and to six toy examples.
Uploads
Papers by Pablo Albertengo