José Carlos Bregieiro Ribeiro
Polytechnic Institute of Leiria
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by José Carlos Bregieiro Ribeiro.
Information & Software Technology | 2009
José Carlos Bregieiro Ribeiro; Mario Zenha-Rela; Francisco Fernández de Vega
In Evolutionary Testing, meta-heuristic search techniques are used for generating test data. The focus of our research is on employing evolutionary algorithms for the structural unit-testing of Object-Oriented programs. Relevant contributions include the introduction of novel methodologies for automation, search guidance and Input Domain Reduction; the strategies proposed were empirically evaluated with encouraging results. Test cases are evolved using the Strongly-Typed Genetic Programming technique. Test data quality evaluation includes instrumenting the test object, executing it with the generated test cases, and tracing the structures traversed in order to derive coverage metrics. The methodology for efficiently guiding the search process towards achieving full structural coverage involves favouring test cases that exercise problematic structures. Purity Analysis is employed as a systematic strategy for reducing the search space.
nature inspired cooperative strategies for optimization | 2007
José Carlos Bregieiro Ribeiro; Mario Zenha-Rela; Francisco Fernández de Vega
Evolutionary Testing is an emerging methodology for automatically generating high quality test data. The focus of this paper is on presenting an approach for generating test cases for the unit-testing of object-oriented programs, with basis on the information provided by the structural analysis and interpretation of Java bytecode and on the dynamic execution of the instrumented test object. The rationale for working at the bytecode level is that even when the source code is unavailable, insight can still be obtained and used to guide the search-based test case generation process. Test cases are represented using the Strongly Typed Genetic Programming paradigm, which effectively mimics the polymorphic relationships, inheritance dependences and method argument constraints of object-oriented programs.
european conference on genetic programming | 2010
José Carlos Bregieiro Ribeiro; Mario Zenha-Rela; Francisco Fernández de Vega
Recent research on search-based test data generation for Object-Oriented software has relied heavily on typed Genetic Programming for representing and evolving test data. However, standard typed Genetic Programming approaches do not allow Object Reuse; this paper proposes a novel methodology to overcome this limitation. Object Reuse means that one instance can be passed to multiple methods as an argument, or multiple times to the same method as arguments. In the context of Object-Oriented Evolutionary Testing, it enables the generation of test programs that exercise structures of the software under test that would not be reachable otherwise. Additionally, the experimental studies performed show that the proposed methodology is able to effectively increase the performance of the test data generation process.
genetic and evolutionary computation conference | 2008
José Carlos Bregieiro Ribeiro; Mario Zenha-Rela; Francisco Fernández de Vega
Search-based test case generation for object-oriented software is hindered by the size of the search space, which encompasses the arguments to the implicit and explicit parameters of the test objects public methods. The performance of this type of search problems can be enhanced by the definition of adequate Input Domain Reduction strategies. The focus of our on-going work is on employing evolutionary algorithms for generating test data for the structural unit-testing of Java programs. Test cases are represented and evolved using the Strongly-Typed Genetic Programming paradigm; Purity Analysis is particularly useful in this situation because it provides a means to automatically identify and remove Function Set entries that do not contribute to the definition of interesting test scenarios.
automation of software test | 2008
José Carlos Bregieiro Ribeiro; Mário Zenha Rela; Francisco Fernández de Vega
Evolutionary Testing is an emerging methodology for automatically producing high quality test data. The focus of our on-going work is precisely on generating test data for the structural unit-testing of object-oriented Java programs. The primary objective is that of efficiently guiding the search process towards the definition of a test set that achieves full structural coverage of the test object. However, the state problem of object-oriented programs requires specifying carefully fine-tuned methodologies that promote the traversal of problematic structures and difficult control-flow paths - which often involves the generation of complex and intricate test cases, that define elaborate state scenarios. This paper proposes a methodology for evaluating the quality of both feasible and unfeasible test cases - i.e., those that are effectively completed and terminate with a call to the method under test, and those that abort prematurely because a runtime exception is thrown during test case execution. With our approach, unfeasible test cases are considered at certain stages of the evolutionary search, promoting diversity and enhancing the possibility of achieving full coverage.
symposium on search based software engineering | 2013
Ana Filipa Nogueira; José Carlos Bregieiro Ribeiro; Francisco Fernández de Vega; Mario Zenha-Rela
The eCrash tool employs Strongly-Typed Genetic Programming to automate the generation of test data for the structural unit testing of Object-Oriented Java programs. This paper depicts the results attained by utilising eCrash to generate test data for the classes of the Apache Ant project.
NICSO | 2010
José Carlos Bregieiro Ribeiro; Mario Zenha-Rela; Francisco Fernández de Vega
Adaptive Evolutionary Algorithms are distinguished by their dynamic manipulation of selected parameters during the course of evolving a problem solution; they have an advantage over their static counterparts in that they are more reactive to the unanticipated particulars of the problem. This paper proposes an adaptive strategy for enhancing Genetic Programming-based approaches to automatic test case generation. The main contribution of this study is that of proposing an Adaptive Evolutionary Testing methodology for promoting the introduction of relevant instructions into the generated test cases by means of mutation; the instructions from which the algorithm can choose are ranked, with their rankings being updated every generation in accordance to the feedback obtained from the individuals evaluated in the preceding generation. The experimental studies developed show that the adaptive strategy proposed improves the test case generation algorithm’s efficiency considerably, while introducing a negligible computational overhead.
international conference on universal access in human-computer interaction | 2015
António Pereira; Fernando Silva; José Carlos Bregieiro Ribeiro; Isabel Marcelino; João Barroso
Technology is present in almost all aspects of our modern lives, and technological advances have been more and more prevalent. One would expect this to facilitate everybody’s life, rendering common tasks more practical and easier to perform, but that is often not the case – at least not for the elderly. Older people have significant difficulties in using technological equipment due to the visual, physical, cognitive and hearing limitations associated with the natural aging process; these aspects must be taken into account if the intention is that of integrating technology in the lives of the elderly.
Handbook of Genetic Programming Applications | 2015
José Carlos Bregieiro Ribeiro; Ana Filipa Nogueira; Francisco Fernández de Vega; Mario Zenha-Rela
This paper describes the methodology, architecture and features of the eCrash framework, a Java-based tool which employs Strongly-Typed Genetic Programming to automate the generation of test data for the structural unit testing of Object-Oriented programs. The application of Evolutionary Algorithms to Test Data generation is often referred to as Evolutionary Testing. eCrash implements an Evolutionary Testing strategy developed with three major purposes: improving the level of performance and automation of the Software Testing process; minimising the interference of the tool’s users on the Test Object analysis to a minimum; and mitigating the impact of users decisions in the Test Data generation process.
genetic and evolutionary computation conference | 2009
José Carlos Bregieiro Ribeiro; Mario Zenha-Rela; Francisco Fernández de Vega
This paper proposes an adaptive strategy for enhancing Genetic Programming-based approaches to automatic test case generation. The main contribution of this study is that of proposing an adaptive Evolutionary Testing methodology for promoting the introduction of relevant instructions into the generated test cases by means of mutation; the instructions from which the algorithm can choose are ranked, with their rankings being updated every generation in accordance to the feedback obtained from the individuals evaluated in the preceding generation. The experimental studies developed show that the adaptive strategy proposed improves the algorithms efficiency considerably, while introducing a negligible computational overhead.