Anamaria Martins Moreira
Federal University of Rio de Janeiro
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Anamaria Martins Moreira.
international conference on engineering of complex computer systems | 2006
David Déharbe; Bruno Emerson Gurgel Gomes; Anamaria Martins Moreira
This paper presents a method for the rigorous development of Java Card smart card applications, using the B method. Its main feature is to abstract the particularities of Java Card and smart card aware applications from the specifier as much as possible. In the proposed approach, the specification of the application logic does not need to take into account the specific aspects of the Java Card platform (in particular, communication between the card acceptance device and the smart card itself). A sequence of pre-established refinements is then applied to the original specification to yield an implementation-level B description of the component, which can then be used to synthesize Java Card code. This method reduces significantly the required amount of user-interaction and improves productivity. An interesting side-effect of this approach is that the specification may be reused with any other platform of implementation.
tests and proofs | 2015
Anamaria Martins Moreira; Cleverton Hentz; David Déharbe; Ernesto Cid Brasil de Matos; João B. Souza Neto; Valério Medeiros
In this paper, we present a case study where two code generators for the B-Method were validated using software testing techniques. Our testing strategy is a combination of Grammar-Based Testing (GBT) and Model-Based Testing (MBT) techniques. The strategy consists of two steps. In the first step, grammar-based coverage criteria are used to generate a wide and meaningful set of test input models to validate the parsing capabilities of the code generators. In the second step, a MBT tool is used to validate the correctness of the output produced by these tools. The MBT tool generates a set of tests based on the same input model used by the code generation tools. The generated code is considered correct (consistent with the input model) if it passes this set of tests. Using this testing strategy, we were able to find problems in both code generation tools with moderate effort.
Journal of the Brazilian Computer Society | 2016
Ernesto Cid Brasil de Matos; Anamaria Martins Moreira; João B. Souza Neto
BackgroundBETA (Bbased testing approach) is a toolsupported approach to generate test cases from Bmethod specifications through the application of input space partitioning and logical coverage criteria. The BETA tool automates the whole process, from the design of abstract test cases to the generation of executable test scripts.MethodsIn this paper, we present an empirical study that was performed to evaluate and contribute to the development of BETA. The study evaluated the applicability of BETA on problems with different characteristics and used techniques of code coverage and mutation analysis to measure the quality of the generated test cases. The study was carried out in different rounds, and the results of each round were used as a reference for the improvement of the approach and its supporting tool.ResultsThese case studies were relevant not only for the evaluation of BETA but also to evaluate how different features affect the usability of the approach and the quality of the test cases and to compare the quality of the test cases generated using different coverage criteria.ConclusionsThe results of this study showed that (1) BETAgenerated test scenarios for the different criteria follow theoretical expectations in terms of criteria subsumption; (2) the BETA implementation of the logical criteria generates more efficient test sets regarding code and mutation coverage than the input space partitioning ones; (3) it is important to go beyond the strict requirements of the criteria by adding some additional variation (randomization) of the input data; and (4) the algorithms designed to combine test requirements into test cases need to deal carefully with infeasible (logically unsatisfiable) combinations.
Computer Science Review | 2018
João B. Souza Neto; Anamaria Martins Moreira; Martin A. Musicante
Abstract A Semantic Web Service (SWS) is a web service attached with a description that defines its semantic in a computer-interpretable language. This semantic description plays an essential role in the automation of tasks in the web services lifecycle and fills a semantic gap existing in the standard web service technologies. Like any software, an SWS needs to be tested to ensure a certain level of quality. The semantics also plays an important role in the testing process since it can be used as input for testing activities such as the design of test cases and the definition of oracles. In this context, this paper aims to identify and characterize the existing testing initiatives for SWSs by conducting a Systematic Mapping. A rigorous process was followed by defining research questions, conducting a search for primary studies in scientific databases, selecting papers according to pre-defined criteria and analyzing the papers to answer the research questions and to identify trends and gaps in the area. As a result, a total of 43 papers were selected and analyzed concerning a defined classification scheme that reflects the area. The analysis showed the primary goals and issues addressed by the initiatives, the testing techniques applied, evidence on the maturity of the area and trends.
international conference on testing software and systems | 2015
Cleverton Hentz; Jurgen J. Vinju; Anamaria Martins Moreira
In grammar-based testing, context-free grammars may be used to generate relevant test inputs for language processors, or meta programs, such as programming language compilers, refactoring tools, and implementations of software quality metrics. This technique can be used to test these meta programs, but the amount of sentences, and syntax trees thereof, which needs to be generated to obtain reasonable coverage of the input language is exponential. Pattern matching is a programming language feature used often when writing meta programs. Pattern matching helps because it automates the frequently occurring task of detecting shapes in, and extracting information from syntax trees. However, meta programs which contain many patterns are difficult to test using only randomly generated sentences from grammar rules. The reason is that statistically it is uncommon to directly generate sentences which accidentally match the patterns in the code. To solve this problem, in this paper we extract information from the patterns in the code of meta programs to guide the sentence generation process. We introduce a new coverage criterion, called Pattern Coverage, which focuses on providing a test strategy to reduce the amount of test necessary cases, while covering the relevant parts of the meta program. An initial experimental evaluation is presented and the result is compared with traditional grammar-based testing.
Archive | 2001
Umberto Souza da Costa; Anamaria Martins Moreira; David Déharbe
parallel and distributed processing techniques and applications | 2000
Umberto Souza da Costa; David Déharbe; Anamaria Martins Moreira
Archive | 2007
Anamaria Martins Moreira; C. de Castro
Archive | 2009
Anamaria Martins Moreira; E. Malavolta; C. de Castro; Nand Kumar Fageria
Colloque d'Informatique: Brésil/INRIA (COLIBRI) | 2009
David Déharbe; Pascal Fontaine; Anamaria Martins Moreira; Stephan Merz; Anderson Santana de Oliveira