Powered by
Conference Publishing Consulting

6th International Workshop on Automating Test Case Design, Selection and Evaluation (A-TEST 2015), August 30-31, 2015, Bergamo, Italy

A-TEST 2015 – Proceedings

Contents - Abstracts - Authors
Twitter: https://twitter.com/FSEconf
Title Page

Welcome to the Workshop on Automated Software Testing, in Bergamo, Italy, 30th -31st August 2015. This workshop is co-located with 10th Joint Meeting of the European Software Engineering Conference (ESEC) and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE), 2015.

Model-Driven Test Case Design for Model-to-Model Semantics Preservation
Christopher Gerking, Jan Ladleif, and Wilhelm Schäfer
(University of Paderborn, Germany)
Model transformations used in model-driven software development need to be semantics-preserving, i.e., the meaning of a model must not be distorted by the transformation. Testing whether a transformation preserves the dynamic semantics of a model requires oracles such as model checkers, which explore the runtime statespace of models. The high amount of repetitive code to integrate heterogeneous transformation engines and test oracles makes the design of semantics preservation tests a tedious task. In this paper, we apply the approach of model-driven testing to the domain of model transformation. We present a visual domain-specific language for the design of model transformation tests, which reduces test cases to their essential components. Our language enables an immediate execution of test cases with precise validation feedback. We evaluate our approach in terms of a case study based on the MechatronicUML modeling language for the software development of cyber-physical systems.

Publisher's Version Article Search
A Test Model for Graph Database Applications: An MDA-Based Approach
Raquel Blanco and Javier Tuya
(University of Oviedo, Spain)
NoSQL databases have given rise to new testing challenges due to the fact that they use data models and access modes to the data that differ from the relational databases. Testing relational database applications has attracted the interest of many researchers; but this is still not the case with NoSQL database applications. The approach presented in this paper defines a test model for graph database applications that takes into account the data model of this technology and the system specification. To automate the derivation of the test cases and the evaluation of their adequacy we propose a framework that places model-based testing into the model-driven architecture context.

Publisher's Version Article Search
EvoSE: Evolutionary Symbolic Execution
Mauro Baluda
(Fraunhofer SIT, Germany)
Search Based Software Testing (SBST) and Symbolic Execution (SE) have emerged as the most effective among the fully automated test input generation techniques. However, none of the two techniques satisfactorily solves the problem of generating test cases that exercise specific code elements, as it is required for example in security vulnerability testing.
This paper proposes EvoSE, an approach that combines the strengths of SBST and SE. EvoSE implements an evolutionary algorithm that searches the program control flow graph for symbolic paths that traverse the minimum number of unsatisfiable branch conditions. Preliminary evaluation shows that EvoSE outperforms state-of-the-art SE search strategies when targeting specific code elements.

Publisher's Version Article Search
Testing Data Transformations in MapReduce Programs
Jesús Morán, Claudio de la Riva, and Javier Tuya
(University of Oviedo, Spain; Universidad de Oviedo, Spain)
MapReduce is a parallel data processing paradigm oriented to process large volumes of information in data-intensive applications, such as Big Data environments. A characteristic of these applications is that they can have different data sources and data formats. For these reasons, the inputs could contain some poor quality data that could produce a failure if the program functionality does not handle properly the variety of input data. The output of these programs is obtained from a number of input transformations that represent the program logic. This paper proposes the testing technique called MRFlow that is based on data flow test criteria and oriented to transformations analysis between the input and the output in order to detect defects in MapReduce programs. MRFlow is applied over some MapReduce programs and detects several defects.

Publisher's Version Article Search
Deterministically Testing Actor-Based Concurrent Software
Piet Cordemans, Eric Steegmans, and Jeroen Boydens
(KU Leuven, Belgium)
Non-deterministic concurrent behavior of software prohibits the idempotent property of tests. XUnit frameworks traditionally do not offer support to deal with these concurrency issues which reduces the significance of unit testing concurrent software. In this paper we propose a tool which supports deterministic testing of concurrent software based on the Actor model. This tool reveals race conditions and seamlessly integrates with xUnit-like frameworks. In our approach, a Coloured Petri Net model is constructed per test as well as the code under test. This model allows isolation of concurrent behavior from the effective actor state. Subsequently, the state space is calculated and traces covering all states are constructed. Corresponding with these traces our tool issues test runs, guaranteeing full state space coverage of each test. Moreover, each failed trace can be backtracked, revealing valuable information concerning the race condition.

Publisher's Version Article Search
Concurrent Software Testing in Practice: A Catalog of Tools
Silvana M. Melo, Simone R. S. Souza, Rodolfo A. Silva, and Paulo S. L. Souza
(University of São Paulo, Brazil)
The testing of concurrent programs is very complex due to the non-determinism present in those programs. They must be subjected to a systematic testing process that assists in the identification of defects and guarantees quality. Although testing tools have been proposed to support the concurrent program testing, to the best of our knowledge, no study that concentrates all testing tools to be used as a catalog for testers is available in the literature. This paper proposes a new classification for a set of testing tools for concurrent programs, regarding attributes, such as testing technique supported, programming language, and paradigm of development. The purpose is to provide a useful categorization guide that helps testing practitioners and researchers in the selection of testing tools for concurrent programs. A systematic mapping was conducted so that studies on testing tools for concurrent programs could be identified. As a main result, we provide a catalog with 116 testing tools appropriately selected and classified, among which the following techniques were identified: functional testing, structural testing, mutation testing, model based testing, data race and deadlock detection, deterministic testing and symbolic execution. The programming languages with higher support were Java and C/C++. Although a large number of tools have been categorized, most of them are academic and only few are available on a commercial scale. The classification proposed here can contribute to the state-of-the-art of testing tools for concurrent programs and also provides information for the exchange of knowledge between academy and industry.

Publisher's Version Article Search
Bayesian Concepts in Software Testing: An Initial Review
Daniel Rodriguez, Javier Dolado, and Javier Tuya
(University of Alcalá, Spain; University of the Basque Country, Spain; University of Oviedo, Spain)
This work summarizes the main topics that have been researched in the area of software testing under the umbrella of ``Bayesian approaches'' since 2010. There is a growing trend on the use of the so-called Bayesian statistics and Bayesian concepts in general and software testing in particular. Following a Systematic Literature Review protocol using the main digital libraries and repositories, we selected around 40 references applying Bayesian approaches in the field of software testing since 2010. Those references summarise the current state of the art and foster better focused research. So far, the main observed use of the Bayesian concepts in the software testing field is through the application of Bayesian networks for software reliability and defect prediction (the latter is mainly based on static software metrics and Bayesian classifiers). Other areas of application are software estimation and test data generation. There are areas not fully explored beyond the basic Bayesian approaches, such as influence diagrams and dynamic networks.

Publisher's Version Article Search

proc time: 0.21