4.5 Article

Metamorphic slice: An application in spectrum-based fault localization

Journal

INFORMATION AND SOFTWARE TECHNOLOGY
Volume 55, Issue 5, Pages 866-879

Publisher

ELSEVIER
DOI: 10.1016/j.infsof.2012.08.008

Keywords

Spectrum-based fault localization; Slice; Metamorphic slice; Test oracle; Metamorphic testing

Funding

  1. Australian Research Council Discovery Project [DP120104773]
  2. National Natural Science Foundation of China [90818027, 60873050]
  3. USA National Science Foundation [NSF DUE-1023071]

Ask authors/readers for more resources

Context: Because of its simplicity and effectiveness, Spectrum-Based Fault Localization (SBFL) has been one of the popular approaches towards fault localization. It utilizes the execution result of failure or pass, and the corresponding coverage information (such as program slice) to estimate the risk of being faulty for each program entity (such as statement). However, all existing SBFL techniques assume the existence of a test oracle to determine the execution result of a test case. But, it is common that test oracles do not exist, and hence the applicability of SBFL has been severely restricted. Objective: We aim at developing a framework that can extend the application of SBFL to the common situations where test oracles do not exist. Method: Our approach uses a new concept of metamorphic slice resulting from the integration of metamorphic testing and program slicing. In SBFL, instead of using the program slice and the result of failure or pass for an individual test case, a metamorphic slice and the result of violation or non-violation of a metamorphic relation are used. Since we need not know the execution result for an individual test case, the existence of a test oracle is no longer a requirement to apply SBFL. Results: An experimental study involving nine programs and three risk evaluation formulas was conducted. The results show that our proposed solution delivers a performance comparable to the performance observed by existing SBFL techniques for the situations where test oracles exist. Conclusion: With respect to the problem that SBFL is only applicable to programs with test oracles, we propose an innovative solution. Our solution is not only intuitively appealing and conceptually feasible, but also practically effective. Consequently, test oracles are no longer mandatory for SBFL, and hence the applicability of SBFL is significantly extended. (C) 2012 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, Information Systems

Boundary sampling to boost mutation testing for deep learning models

Weijun Shen, Yanhui Li, Yuanlei Han, Lin Chen, Di Wu, Yuming Zhou, Baowen Xu

Summary: The study introduces boundary sample selection (BSS) approach to select a smaller, sensitive, representative, and efficient subset of the test dataset for promoting mutation testing in DL models. The experimental results show that the subsets generated by BSS are smaller in size, superior in observing mutation effects, replaceable to a high degree in mutation score, and have better Mean Reciprocal Rank (MRR) values compared to the whole test sets. BSS can help reduce labeling cost, run mutation testing quickly, and identify killed mutants early.

INFORMATION AND SOFTWARE TECHNOLOGY (2021)

Article Computer Science, Software Engineering

Generating API tags for tutorial fragments from Stack Overflow

Di Wu, Xiao-Yuan Jing, Hongyu Zhang, Bing Li, Yu Xie, Baowen Xu

Summary: API tutorials and Stack Overflow posts both contain API tags to help understand and navigate code snippets. ATTACK is a novel approach that uses deep neural network with attention mechanism to automatically generate API tags from Stack Overflow posts.

EMPIRICAL SOFTWARE ENGINEERING (2021)

Article Computer Science, Hardware & Architecture

Beating Random Test Case Prioritization

Zhi Quan Zhou, Chen Liu, Tsong Yueh Chen, T. H. Tse, Willy Susilo

Summary: Existing test case prioritization techniques have limitations and may not always be more effective than random prioritization. This article introduces a new technique based on a dispersity metric that has been shown to be more effective. Empirical studies support the effectiveness of this new technique.

IEEE TRANSACTIONS ON RELIABILITY (2021)

Article Computer Science, Software Engineering

Classifying crowdsourced mobile test reports with image features: An empirical study

Yuying Li, Yang Feng, Rui Hao, Di Liu, Chunrong Fang, Zhenyu Chen, Baowen Xu

Summary: Crowdsourced testing is a popular method for testing mobile applications. It can simulate real usage scenarios and detect various bugs with a large workforce. However, the inspection and classification of crowdsourced test reports can be time-consuming. To address this issue, researchers have proposed techniques for automatically classifying test reports. In this study, we fuse features from text descriptions and screenshots to classify crowdsourced test reports and evaluate the effectiveness of our approach using six classification algorithms. The results show that SVM with fused features performs the best in classifying crowdsourced test reports, and image features improve the classification performance.

JOURNAL OF SYSTEMS AND SOFTWARE (2022)

Article Computer Science, Software Engineering

Feedback-Directed Metamorphic Testing

Chang-Ai Sun, Hepeng Dai, Huai Liu, Tsong Yueh Chen

Summary: Metamorphic testing has gained increasing attention for its efficacy in revealing software faults. This study proposes a new approach called feedback-directed metamorphic testing, which leverages test execution feedback to improve cost-effectiveness. The empirical results show that feedback-directed metamorphic testing can use fewer test cases and less time to detect the same number of faults compared to traditional metamorphic testing.

ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY (2023)

Article Computer Science, Hardware & Architecture

ReMuSSE: A Redundant Mutant Identification Technique Based on Selective Symbolic Execution

Chang-ai Sun, An Fu, Xinling Guo, Tsong Yueh Chen

Summary: Mutation testing is a fault-based software testing technique that measures fault detection effectiveness using simulated faults. The identification of redundant mutants, such as through the ReMuSSE technique, aims to improve testing efficiency by removing mutants with similar program execution state changes.

IEEE TRANSACTIONS ON RELIABILITY (2022)

Article Computer Science, Software Engineering

Theoretical and Empirical Analyses of the Effectiveness of Metamorphic Relation Composition

Kun Qiu, Zheng Zheng, Tsong Chen, Pak-Lok Poon

Summary: Research investigates using MR composition to reduce testing costs and improve fault detection capability in MT.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2022)

Article Computer Science, Software Engineering

CBUA: A Probabilistic, Predictive, and Practical Approach for Evaluating Test Suite Effectiveness

Peng Zhang, Yanhui Li, Wanwangying Ma, Yibiao Yang, Lin Chen, Hongmin Lu, Yuming Zhou, Baowen Xu

Summary: This paper proposes a Coverage-Based Unsupervised Approach (CBUA) for evaluating the effectiveness of a test suite. Experimental results show that CBUA is competitive with the state-of-the-art supervised approaches and is effective in finding covered but not killed mutants.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2022)

Article Computer Science, Information Systems

Dynamic Random Testing of Web Services: A Methodology and Evaluation

Chang-ai Sun, Hepeng Dai, Guan Wang, Dave Towey, Tsong Yueh Chen, Kai-Yuan Cai

Summary: This article proposes a dynamic random testing (DRT) technique for web services and improves upon the random testing (RT) and partition testing (PT) approaches. Empirical studies show that DRT demonstrates higher fault-detection effectiveness and lower test case selection overhead compared to baseline techniques.

IEEE TRANSACTIONS ON SERVICES COMPUTING (2022)

Article Computer Science, Information Systems

Aligned metric representation based balanced multiset ensemble learning for heterogeneous defect prediction

Haowen Chen, Xiao-Yuan Jing, Yuming Zhou, Bing Li, Baowen Xu

Summary: This study proposes a novel approach for heterogeneous defect prediction that reduces heterogeneity, deals with imbalanced data, and retains the meaningfulness of metric space. Experimental results demonstrate its superior performance across various indicators.

INFORMATION AND SOFTWARE TECHNOLOGY (2022)

Article Computer Science, Hardware & Architecture

RegCPython: A Register-based Python Interpreter for Better Performance

Qiang Zhang, Lei Xu, Baowen Xu

Summary: Interpreters are widely used in programming language implementations and play a critical role in program performance. Register-based interpreters outperform stack-based interpreters in terms of execution efficiency and also excel in memory footprint, compilation cost, and implementation complexity.

ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION (2022)

Article Computer Science, Software Engineering

Leveraging Stack Overflow to detect relevant tutorial fragments of APIs

Di Wu, Xiao-Yuan Jing, Hongyu Zhang, Yuming Zhou, Baowen Xu

Summary: This paper introduces a new method called SO2RT for detecting relevant tutorial fragments of APIs using Stack Overflow (SO) posts. The method reduces the effort required for labeling the relevance between tutorial fragments and APIs, and its effectiveness is confirmed through experiments and user studies.

EMPIRICAL SOFTWARE ENGINEERING (2023)

Article Computer Science, Software Engineering

A Declarative Metamorphic Testing Framework for Autonomous Driving

Yao Deng, Xi Zheng, Tianyi Zhang, Huai Liu, Guannan Lou, Miryung Kim, Tsong Yueh Chen

Summary: Autonomous driving has attracted much attention, but safety concerns arise due to fatal accidents caused by autonomous vehicles. This paper presents a rule-based metamorphic testing framework called RMT to detect potential issues in autonomous driving models.

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING (2023)

Proceedings Paper Computer Science, Software Engineering

New Visions on Metamorphic Testing after a Quarter of a Century of Inception

Tsong Yueh Chen, T. H. Tse

Summary: Metamorphic testing (MT) has become a recognized and useful testing technique in both research and industry, with potential applications beyond software testing. Researchers have various visions for the future of MT, including integration with other methods and expansion into new domains.

PROCEEDINGS OF THE 29TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '21) (2021)

Article Computer Science, Artificial Intelligence

Identification of Failure Regions for Programs With Numeric Inputs

Rubing Huang, Weifeng Sun, Tsong Yueh Chen, Sebastian Ng, Jinfu Chen

Summary: The failure region, where failure-causing inputs reside, is crucial for enhancing testing effectiveness and supporting other processes. This paper introduces a new strategy, Search for Boundary (SB), to identify an approximate failure region of a numeric input domain by identifying additional failure-causing inputs close to the boundary.

IEEE TRANSACTIONS ON EMERGING TOPICS IN COMPUTATIONAL INTELLIGENCE (2021)

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)