Author
Macario Polo Usaola
Bio: Macario Polo Usaola is an academic researcher from University of Castilla–La Mancha. The author has contributed to research in topics: Software construction & Test case. The author has an hindex of 6, co-authored 20 publications receiving 142 citations.
Papers
More filters
•
01 Jan 2009TL;DR: The objective is to analyse the existing approaches to testing in software product lines, discussing the significant issues related to this area of knowledge and providing an up-to-date state of the art which can serve as a basis for innovative research activities.
Abstract: Software product lines constitute a new paradigm where industrial production techniques are adapted and applied to software development. Reuse and the maintenance of traceability between the different artefacts in the line are fundamental requirements in this paradigm, articulating the best practices for software development in an environment that is perfectly controlled by software engineering methods. This article presents a systematic review of the literature which deals with testing in software product lines. The objective is to analyse the existing approaches to testing in software product lines, discussing the significant issues related to this area of knowledge and providing an up-to-date state of the art which can serve as a basis for innovative research activities. The paper also analyses how SPL research can contribute and dynamise the research in software
56 citations
••
05 Oct 2009TL;DR: An approach for model-based testing which is completely based on standards, what constitutes an essential factor for its implantation in industrial software tools and the transformation process is based on QVT scripts, a transformation language also adopted by the OMG.
Abstract: This paper describes an approach for model-based testing which is completely based on standards, what constitutes an essential factor for its implantation in industrial software tools. The inputs of the process are models described in UML 2.0, whereas the outputs consist of artefacts of the UML Testing Profile. The transformation process is based on QVT (Query-View-Transformation) scripts, a transformation language also adopted by the OMG.
31 citations
••
13 Mar 2017TL;DR: A method to describe generic test scenarios by means of regular expressions, whose symbols point to a SUT operation, which are annotated with a set of when clauses that are processed by the combinatorial algorithm to include the oracle in the generated test cases.
Abstract: A test case describes a specific execution scenario of the system under test (SUT). Its goal is to discover errors by means of its oracle, that emits a pass or fail verdict depending on the SUT behavior. The test case has a sequence of calls to SUT's operations with specific test data, which may come from the application of a combinatorial algorithm. This paper describes a method to describe generic test scenarios by means of regular expressions, whose symbols point to a SUT operation. The tester assigns values to each operation's parameter. A further step expands the regular expression and produces a set of operation sequences, which are then passed to a combinatorial algorithm to generate actual test cases. Regular expressions are annotated with a set of when clauses, that are processed by the combinatorial algorithm to include the oracle in the generated test cases.
9 citations
••
TL;DR: An automatic tool for managing the software maintenance process according to MANTEMA, a rigorous methodology for maintenance, and how MANTOOL allows users to manage modification requests following the different stages of the methodology.
Abstract: SUMMARY In this paper we present MANTOOL, an automatic tool for managing the software maintenance process according to MANTEMA, a rigorous methodology for maintenance. After explaining briefly the MANTEMA structure, the article explains how MANTOOL allows users to manage modification requests following the different stages of the methodology, showing it with some examples. The data saved in MANTOOL can be used to extract different kinds of reports and to do estimations of future maintenance interventions. The paper also includes some experience reports about the construction and application of MANTEMA and MANTOOL, and some reflections on the benefits of its use. Copyright 2001 John Wiley &S ons, Ltd.
7 citations
••
01 Mar 2017TL;DR: An abstract specification of mutation operators is introduced that has been used to create traditional operators and is currently using to define and implement mutation operators for context-aware, mobile applications that comeproceed from a list of common errors reported by three companies.
Abstract: This paper introduces an abstract specification of mutation operators that (1) we have used to create traditional operators and, (2) we are currently using to define and implement mutation operators for context-aware, mobile applications that comeproceed from a list of common errors reported by three companies. This specification describes the structure and behavior of mutation operators at a high abstraction level, thus supporting the specification of new mutation operators according to the evolving state of the art of context-awareness. Facing The paper also gives some notes about BacterioWeb, a web-based mutant tool with an execution engine for Android applications.
6 citations
Cited by
More filters
•
TL;DR: A framework for model driven engineering is set out, which proposes an organisation of the modelling 'space' and how to locate models in that space, and identifies the need for defining families of languages and transformations, and for developing techniques for generating/configuring tools from such definitions.
Abstract: The Object Management Group's (OMG) Model Driven Architecture (MDA) strategy envisages a world where models play a more direct role in software production, being amenable to manipulation and transformation by machine. Model Driven Engineering (MDE) is wider in scope than MDA. MDE combines process and analysis with architecture. This article sets out a framework for model driven engineering, which can be used as a point of reference for activity in this area. It proposes an organisation of the modelling 'space' and how to locate models in that space. It discusses different kinds of mappings between models. It explains why process and architecture are tightly connected. It discusses the importance and nature of tools. It identifies the need for defining families of languages and transformations, and for developing techniques for generating/configuring tools from such definitions. It concludes with a call to align metamodelling with formal language engineering techniques.
1,476 citations
••
01 Jan 2019TL;DR: This chapter presents a survey of recent advances, over the past decade, related to the fundamental problems of mutation testing and sets out the challenges and open problems for the future development of the method.
Abstract: Mutation testing realizes the idea of using artificial defects to support testing activities. Mutation is typically used as a way to evaluate the adequacy of test suites, to guide the generation of test cases, and to support experimentation. Mutation has reached a maturity phase and gradually gains popularity both in academia and in industry. This chapter presents a survey of recent advances, over the past decade, related to the fundamental problems of mutation testing and sets out the challenges and open problems for the future development of the method. It also collects advices on best practices related to the use of mutation in empirical studies of software testing. Thus, giving the reader a “mini-handbook”-style roadmap for the application of mutation testing as experimental methodology.
317 citations
••
TL;DR: This study aims at surveying existing research on SPL testing in order to identify useful approaches and needs for future research, and finds system testing is the largest group with respect to research focus, followed by management.
Abstract: Context: Software product lines (SPL) are used in industry to achieve more efficient software development. However, the testing side of SPL is underdeveloped. Objective: This study aims at surveying existing research on SPL testing in order to identify useful approaches and needs for future research. Method: A systematic mapping study is launched to find as much literature as possible, and the 64 papers found are classified with respect to focus, research type and contribution type. Results: A majority of the papers are of proposal research types (64%). System testing is the largest group with respect to research focus (40%), followed by management (23%). Method contributions are in majority. Conclusions: More validation and evaluation research is needed to provide a better foundation for SPL testing.
312 citations
••
TL;DR: Investigating state-of-the-art testing practices, synthesize available evidence, and identify gaps between required techniques and existing approaches, available in the literature are focused on.
Abstract: ContextIn software development, Testing is an important mechanism both to identify defects and assure that completed products work as specified. This is a common practice in single-system development, and continues to hold in Software Product Lines (SPL). Even though extensive research has been done in the SPL Testing field, it is necessary to assess the current state of research and practice, in order to provide practitioners with evidence that enable fostering its further development. ObjectiveThis paper focuses on Testing in SPL and has the following goals: investigate state-of-the-art testing practices, synthesize available evidence, and identify gaps between required techniques and existing approaches, available in the literature. MethodA systematic mapping study was conducted with a set of nine research questions, in which 120 studies, dated from 1993 to 2009, were evaluated. ResultsAlthough several aspects regarding testing have been covered by single-system development approaches, many cannot be directly applied in the SPL context due to specific issues. In addition, particular aspects regarding SPL are not covered by the existing SPL approaches, and when the aspects are covered, the literature just gives brief overviews. This scenario indicates that additional investigation, empirical and practical, should be performed. ConclusionThe results can help to understand the needs in SPL Testing, by identifying points that still require additional investigation, since important aspects regarding particular points of software product lines have not been addressed yet.
231 citations
••
16 May 2009TL;DR: This paper presents how an AOM approach can be used to tame the combinatorial explosion of DAS modes by derive a wide range of modes by weaving aspects into an explicit model reflecting the runtime system.
Abstract: Since software systems need to be continuously available under varying conditions, their ability to evolve at runtime is increasingly seen as one key issue. Modern programming frameworks already provide support for dynamic adaptations. However the high-variability of features in Dynamic Adaptive Systems (DAS) introduces an explosion of possible runtime system configurations (often called modes) and mode transitions. Designing these configurations and their transitions is tedious and error-prone, making the system feature evolution difficult. While Aspect-Oriented Modeling (AOM) was introduced to improve the modularity of software, this paper presents how an AOM approach can be used to tame the combinatorial explosion of DAS modes. Using AOM techniques, we derive a wide range of modes by weaving aspects into an explicit model reflecting the runtime system. We use these generated modes to automatically adapt the system. We validate our approach on an adaptive middleware for home-automation currently deployed in Rennes metropolis.
219 citations