4.5 Article

Automated metamorphic testing on the analyses of feature models

Journal

INFORMATION AND SOFTWARE TECHNOLOGY
Volume 53, Issue 3, Pages 245-258

Publisher

ELSEVIER
DOI: 10.1016/j.infsof.2010.11.002

Keywords

Metamorphic testing; Test data generation; Mutation testing; Feature models; Automated analysis; Product lines

Funding

  1. European Commission
  2. Spanish Government [TIN2009-07366]
  3. Andalusian Government [TIC-2533]

Ask authors/readers for more resources

Context: A feature model (FM) represents the valid combinations of features in a domain. The automated extraction of information from FMs is a complex task that involves numerous analysis operations, techniques and tools. Current testing methods in this context are manual and rely on the ability of the tester to decide whether the output of an analysis is correct. However, this is acknowledged to be time-consuming, error-prone and in most cases infeasible due to the combinatorial complexity of the analyses, this is known as the oracle problem. Objective: In this paper, we propose using metamorphic testing to automate the generation of test data for feature model analysis tools overcoming the oracle problem. An automated test data generator is presented and evaluated to show the feasibility of our approach. Method: We present a set of relations (so-called metamorphic relations) between input FMs and the set of products they represent. Based on these relations and given a FM and its known set of products, a set of neighbouring FMs together with their corresponding set of products are automatically generated and used for testing multiple analyses. Complex FMs representing millions of products can be efficiently created by applying this process iteratively. Results: Our evaluation results using mutation testing and real faults reveal that most faults can be automatically detected within a few seconds. Two defects were found in FaMa and another two in SPLOT, two real tools for the automated analysis of feature models. Also, we show how our generator outperforms a related manual suite for the automated analysis of feature models and how this suite can be used to guide the automated generation of test cases obtaining important gains in efficiency. Conclusion: Our results show that the application of metamorphic testing in the domain of automated analysis of feature models is efficient and effective in detecting most faults in a few seconds without the need for a human oracle. (C) 2010 Elsevier B.V. All rights reserved.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.5
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

Article Computer Science, Software Engineering

Effects of Mindfulness on Conceptual Modeling Performance: A Series of Experiments

Beatriz Bernardez, Amador Duran, Jose A. Parejo, Natalia Juristo, Antonio Ruiz-Cortes

Summary: This study found that software engineering students showed improved conceptual modeling performance in terms of quality and productivity after practicing mindfulness. These findings indicate the positive impact of mindfulness on enhancing students' performance in software engineering tasks.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2022)

Article Computer Science, Software Engineering

ARTE: Automated Generation of Realistic Test Inputs for Web APIs

Juan C. Alonso, Alberto Martin-Lopez, Sergio Segura, Jose Maria Garcia, Antonio Ruiz-Cortes

Summary: In this article, the authors present ARTE, an approach for automated extraction of realistic test data for web APIs from knowledge bases. ARTE leverages natural language processing, search-based, and knowledge extraction techniques to automatically search for realistic test inputs based on the API specification. The evaluation results demonstrate the potential of ARTE for enhancing web API testing tools and achieving a higher level of automation.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2023)

Article Computer Science, Theory & Methods

GraphQL: A Systematic Mapping Study

Antonio Quina-Mera, Pablo Fernandez, Jose Maria Garcia, Antonio Ruiz-Cortes

Summary: GraphQL is a query language and execution engine proposed as an alternative to improve data access problems and versioning of APIs. This article presents a systematic mapping study of 84 primary studies to analyze the trends and knowledge gaps in the GraphQL field. The study concludes that GraphQL adoption is increasing as a strong alternative for implementing APIs, but more empirical evidence collection is needed in industry and government studies.

ACM COMPUTING SURVEYS (2023)

Article Computer Science, Theory & Methods

Testing using CSP Models: Time, Inputs, and Outputs

James Baxter, Ana Cavalcanti, Maciej Gazda, Robert M. Hierons

Summary: This research introduces a new approach for timed refinement and testing using a dialect of CSP called tock-CSP. It provides a novel semantics for testing by distinguishing input and output events in tock-CSP. Additionally, a new testing theory for timewise refinement is presented, based on novel definitions of test and test execution. The paper also establishes a relationship between timed ioco testing and refinement in tock-CSP with inputs and outputs.

ACM TRANSACTIONS ON COMPUTATIONAL LOGIC (2023)

Article Computer Science, Theory & Methods

A model-based approach for specifying changes in replications of empirical studies in computer Science

Margarita Cruz, Beatriz Bernardez, Amador Duran, Cathy Guevara-Vega, Antonio Ruiz-Cortes

Summary: The main goal of this article is to provide a systematic tool-supported approach for the specification and reporting of changes in replications of empirical studies in Computer Science. The developed artifact includes a metamodel, templates and linguistic patterns, and a model-based software tool. A multiple case study with 9 families of empirical studies was conducted to validate the approach, revealing some initial limitations. The proposed method seems to be applicable not only in Computer Science but also in other research areas.

COMPUTING (2023)

Correction Computer Science, Theory & Methods

A model-based approach for specifying changes in replications of empirical studies in computer Science (vol 105, pg 1189, 2023)

Margarita Cruz, Beatriz Bernardez, Amador Duran, Cathy Guevara-Vega, Antonio Ruiz-Cortes

COMPUTING (2023)

Article Computer Science, Hardware & Architecture

Trustworthy Autonomous Systems Through Verifiability

Mohammad Reza Mousavi, Ana Cavalcanti, Michael Fisher, Louise Dennis, Rob Hierons, Bilal Kaddouh, Effie Lai-Chong Law, Rob Richardson, Jan Oliver Ringer, Ivan Tyukin, Jim Woodcock

Summary: Autonomous systems have the potential to solve societal challenges, but trustworthiness is crucial. A U.K. consortium conducted research to address the central issue of establishing verifiability.

COMPUTER (2023)

Article Computer Science, Hardware & Architecture

Performance-Driven Metamorphic Testing of Cyber-Physical Systems

Jon Ayerdi, Pablo Valle, Sergio Segura, Aitor Arrieta, Goiuria Sagardui, Maite Arratibel

Summary: Cyber-physical systems (CPSs) are a new generation of systems that integrate software with physical processes. Metamorphic testing has shown great potential for alleviating the test oracle problem by utilizing the relationships among the inputs and outputs of different system executions. This article proposes an MR pattern (PV) for identifying performance-driven MRs and evaluates its effectiveness in two CPSs from different domains.

IEEE TRANSACTIONS ON RELIABILITY (2023)

Article Computer Science, Software Engineering

Modelling Second-Order Uncertainty in State Machines

Neil Walkinshaw, Robert M. Hierons

Summary: In this article, a method for modelling finite state machines using Subjective Logic is introduced. This method allows modellers to capture their own uncertainty about the stated probabilities, enhancing the accuracy and reliability of the models.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2023)

Article Computer Science, Theory & Methods

Removing redundant refusals: Minimal complete test suites for failure trace semantics

Maciej Gazda, Robert M. Hierons

Summary: We investigate the problem of finding a minimal complete test suite for refusal trace semantics. Our approach is based on generating a minimal complete set of forbidden refusal traces and utilizing insightful insights into the semantics. We identify a key class of refusals called fundamental refusals, which essentially determine the refusal trace semantics and associated equivalence relation. We propose a small but not necessarily minimal test suite and provide a method to remove redundant traces while maintaining uniform completeness if desired.

INFORMATION AND COMPUTATION (2023)

Review Computer Science, Information Systems

Digital-twin-based testing for cyber-physical systems: A systematic literature review

Richard J. Somers, James A. Douthwaite, David J. Wagg, Neil Walkinshaw, Robert M. Hierons

Summary: This study aims to summarize the existing literature on digital-twin-based testing. Digital twins enhance physical systems through visualization, future state prediction, and communication. The adoption of digital twin testing has been increasing in different domains, and the testing techniques are continuously evolving.

INFORMATION AND SOFTWARE TECHNOLOGY (2023)

Article Computer Science, Software Engineering

Incomplete Adaptive Distinguishing Sequences for Non-Deterministic FSMs

Uraz Cengiz Turker, Robert M. Hierons, Gerassimos Barlas, Khaled El-Fakih

Summary: The increasing complexity and criticality of software systems have led to a growing interest in automated test generation, particularly using model-based testing (MBT). This study proposes a generalization of incomplete adaptive distinguishing sequences (ADSs) to handle non-deterministic partial and observable finite state machines (FSMs). It also presents a novel algorithm to generate incomplete ADSs and demonstrates its superior performance in identifying states of the implementation under test (IUT) compared to existing methods.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2023)

Article Automation & Control Systems

Implementation relations and testing for cyclic systems: Adding probabilities

Manuel Nunez, Robert M. Hierons, Raluca Lefticaru

Summary: This paper focuses on systematically testing robotic control software based on state-based models. It provides a testing theory for cyclic systems, where time is represented and probabilities are used to model non-deterministic choices. The paper also considers refusals and different testing scenarios, leading to a range of implementation relations. It offers formal definitions of implementation relations that can be used for sound automated testing and validates them through alternative characterizations using observers.

ROBOTICS AND AUTONOMOUS SYSTEMS (2023)

Correction Computer Science, Theory & Methods

A model-based approach for specifying changes in replications of empirical studies in computer Science (Jan, 10.1007/s00607-022-01133-x, 2023)

Margarita Cruz, Beatriz Bernardez, Amador Duran, Cathy Guevara-Vega, Antonio Ruiz-Cortes

COMPUTING (2023)

Article Computer Science, Information Systems

Why and how bug blocking relations are breakable: An empirical study on breakable blocking bugs

Hao Ren, Yanhui Li, Lin Chen, Yuming Zhou, Changhai Nie

Summary: This study aims to explore the breakable blocking bugs (BBBs) through quantitative and qualitative analysis. The analysis reveals that BBBs have higher levels of involvement, longer fix time, and more complex source code compared to other bugs. The study also identifies four reasons for breaking blocking relationships between bugs and three measures adopted by developers to break these relationships.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Vulnerability detection based on federated learning

Chunyong Zhang, Tianxiang Yu, Bin Liu, Yang Xin

Summary: This paper proposes a vulnerability detection framework based on federated learning (VDBFL), which combines code property graph, graph neural networks, and convolutional neural networks to detect vulnerability code. The experimental results show that this method outperforms other vulnerability detection methods.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Collaborative software design and modeling in virtual reality

Martin Stancek, Ivan Polasek, Tibor Zalabai, Juraj Vincur, Rodi Jolak, Michel Chaudron

Summary: The aim of this research is to support distributed software design activities in Virtual Reality (VR). Using design science research methodology, a tool for collaborative design in VR is designed and evaluated. The efficiency of collaboration and recall of design information when using VR software design environment compared to non-VR environment are evaluated. Furthermore, the perceptions and preferences of users are collected to explore the opportunities and challenges of using VR software design environment.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Improving domain-specific neural code generation with few-shot meta-learning

Zhen Yang, Jacky Wai Keung, Zeyu Sun, Yunfei Zhao, Ge Li, Zhi Jin, Shuo Liu, Yishu Li

Summary: This paper presents MetaCoder, a meta-learning code generation approach that efficiently extracts general-purpose knowledge from large-scale source languages and rapidly adapts to domain-specific scenarios.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Automated code-based test case reuse for software product line testing

Pilsu Jung, Seonah Lee, Uicheon Lee

Summary: This study proposes an automated code-based approach (ActSPL) for reusing SPL test cases by utilizing source code and test cases. The results show that ActSPL achieves high precision and recall, and significantly reduces the time required for testing a new product.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Understanding the implementation issues when using deep learning frameworks

Chao Liu, Runfeng Cai, Yiqun Zhou, Xin Chen, Haibo Hu, Meng Yan

Summary: This paper conducts an empirical study on the implementation issues of deep learning frameworks, focusing on relevant questions on Stack Overflow. The study identifies various implementation issues and constructs a taxonomy, revealing that data processing, model setting, model training, and model prediction are the most common categories. The paper also provides suggestions for future research and aims to help developers and researchers understand these issues better.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Genetic model-based success probability prediction of quantum software development projects

Muhammad Azeem Akbar, Arif Ali Khan, Mohammad Shameem, Mohammad Nadeem

Summary: This study identifies key variables in quantum software development (QSD) and develops a model for predicting the success probability of QSD projects. The results show that as the QSD process matures, project success probability significantly increases and costs are notably reduced. The developed prediction model can help practitioners focus on key areas for successful implementation of QSD projects.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Developer and End-User Perspectives on Addressing Human Aspects in Mobile eHealth Apps

Md. Shamsujjoha, John Grundy, Hourieh Khalajzadeh, Qinghua Lu, Li Li

Summary: This paper investigates the challenges and benefits of incorporating human aspects into eHealth app development and usage from the perspectives of developers and end-users. The study used a mixed-method approach and gathered data from online surveys and interviews. The findings suggest that addressing human aspects throughout the app development life-cycle is beneficial for more effective eHealth apps.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Understanding how early-stage researchers leverage socio-technical affordances for distributed research

Yuchao Jiang, Boualem Benatallah, Marcos Baez

Summary: This paper reports on interviews and surveys with early-stage researchers (ESRs) and explores the potential of online research communities in supporting ESRs to learn from diverse perspectives and experiences. The results reveal the limited adoption of research communities for learning and identify unmet needs in their design. Design implications for future socio-technical systems are provided to support the development of research skills.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Deep learning-based software bug classification

Jyoti Prakash Meher, Sourav Biswas, Rajib Mall

Summary: Accurate bug classification is important for speeding up bug triage, code inspection, and repair tasks. To improve classification, this study proposes a novel bug classification approach based on deep learning. The approach includes building a bug taxonomy with eight bug classes using keywords, annotating a large set of bug resolution reports, and utilizing attention-based classification techniques. Experimental results show that the proposed technique outperforms existing methods in terms of F1-Score by an average of 16.88% on the considered dataset.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Software Engineering for Systems-of-Systems and Software Ecosystems

Rodrigo Santos, Eleni Constantinou, Pablo Antonino, Jan Bosch

Summary: In the last decade, software engineering has faced challenges beyond technical aspects. The field now considers technological, organizational, and social aspects together in research and practice to handle complexity and provide solutions to the industry's demands. Systems-of-systems (SoS) and software ecosystems (SECO) have emerged as topics of interest, bringing together researchers and practitioners to understand how to manage and engineer software-intensive systems in modern, complex, distributed, dynamic, and open environments.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Article Computer Science, Information Systems

Stratified random sampling for neural network test input selection

Zhuo Wu, Zan Wang, Junjie Chen, Hanmo You, Ming Yan, Lanjun Wang

Summary: In this paper, a statistical method called Stratified random Sampling with Optimum Allocation (SSOA) is proposed to provide an unbiased estimation of model accuracy with the smallest estimation variance. The unlabeled test set is first divided into strata based on predictive confidences. Then, two stratum accuracy variance estimation methods are designed to allocate the given budget to each stratum based on the optimum allocation strategy. Multiple experiments are conducted to evaluate the effectiveness and stability of SSOA by comparing it with baseline methods.

INFORMATION AND SOFTWARE TECHNOLOGY (2024)

Review Computer Science, Information Systems

The consolidation of game software engineering: A systematic literature review of software engineering for industry-scale computer games

Jorge Chueca, Javier Veron, Jaime Font, Francisca Perez, Carlos Cetina

INFORMATION AND SOFTWARE TECHNOLOGY (2024)