MetaFL: Metamorphic fault localisation using weakly supervised deep learning

Abstract Deep‐Learning‐based Fault Localisation (DLFL) leverages deep neural networks to learn the relationship between statement behaviour and program failures, showing promising results. However, since DLFL uses program failures as labels to conduct supervised learning, a labelled dataset is a req...

Full description

Saved in:
Bibliographic Details
Main Authors: Lingfeng Fu, Yan Lei, Meng Yan, Ling Xu, Zhou Xu, Xiaohong Zhang
Format: Article
Language:English
Published: Wiley 2023-04-01
Series:IET Software
Subjects:
Online Access:https://doi.org/10.1049/sfw2.12102
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1849396688383377408
author Lingfeng Fu
Yan Lei
Meng Yan
Ling Xu
Zhou Xu
Xiaohong Zhang
author_facet Lingfeng Fu
Yan Lei
Meng Yan
Ling Xu
Zhou Xu
Xiaohong Zhang
author_sort Lingfeng Fu
collection DOAJ
description Abstract Deep‐Learning‐based Fault Localisation (DLFL) leverages deep neural networks to learn the relationship between statement behaviour and program failures, showing promising results. However, since DLFL uses program failures as labels to conduct supervised learning, a labelled dataset is a requisite of applying DLFL. A failure is detected by comparing program output with a test oracle which is the standard answer for the given input. The problem is, test oracles are often difficult, or even impossible to acquire in real life, and that has severely restricted the application of DLFL since we have only unlabelled datasets in most cases. Thus, MetaFL: Metamorphic Fault Localisation Using Weakly Supervised Deep Learning is proposed, to provide a weakly supervised learning solution for DLFL. Instead of using test oracles, MetaFL uses metamorphic relations to prescribe expected behaviour of a program, and defines labels of metamorphic testing groups by verifying integrity in each group of test cases. Hence, a coarse‐grained labelled dataset can be built from the originally unlabelled one, with which DLFL can work now, utilising a weakly supervised learning paradigm. The experiments show that MetaFL yields a performance comparable to plain DLFL under ideal condition (i.e. the labels of datasets are available). MetaFL successfully extends the methodology of DLFL from supervised learning to weakly supervised learning, and a fully labelled dataset is no longer mandatory for applying DLFL.
format Article
id doaj-art-b010b15435e045ddbd318b7f461d07cf
institution Kabale University
issn 1751-8806
1751-8814
language English
publishDate 2023-04-01
publisher Wiley
record_format Article
series IET Software
spelling doaj-art-b010b15435e045ddbd318b7f461d07cf2025-08-20T03:39:15ZengWileyIET Software1751-88061751-88142023-04-0117213715310.1049/sfw2.12102MetaFL: Metamorphic fault localisation using weakly supervised deep learningLingfeng Fu0Yan Lei1Meng Yan2Ling Xu3Zhou Xu4Xiaohong Zhang5School of Big Data & Software Engineering Chongqing University Chongqing ChinaSchool of Big Data & Software Engineering Chongqing University Chongqing ChinaSchool of Big Data & Software Engineering Chongqing University Chongqing ChinaSchool of Big Data & Software Engineering Chongqing University Chongqing ChinaSchool of Big Data & Software Engineering Chongqing University Chongqing ChinaSchool of Big Data & Software Engineering Chongqing University Chongqing ChinaAbstract Deep‐Learning‐based Fault Localisation (DLFL) leverages deep neural networks to learn the relationship between statement behaviour and program failures, showing promising results. However, since DLFL uses program failures as labels to conduct supervised learning, a labelled dataset is a requisite of applying DLFL. A failure is detected by comparing program output with a test oracle which is the standard answer for the given input. The problem is, test oracles are often difficult, or even impossible to acquire in real life, and that has severely restricted the application of DLFL since we have only unlabelled datasets in most cases. Thus, MetaFL: Metamorphic Fault Localisation Using Weakly Supervised Deep Learning is proposed, to provide a weakly supervised learning solution for DLFL. Instead of using test oracles, MetaFL uses metamorphic relations to prescribe expected behaviour of a program, and defines labels of metamorphic testing groups by verifying integrity in each group of test cases. Hence, a coarse‐grained labelled dataset can be built from the originally unlabelled one, with which DLFL can work now, utilising a weakly supervised learning paradigm. The experiments show that MetaFL yields a performance comparable to plain DLFL under ideal condition (i.e. the labels of datasets are available). MetaFL successfully extends the methodology of DLFL from supervised learning to weakly supervised learning, and a fully labelled dataset is no longer mandatory for applying DLFL.https://doi.org/10.1049/sfw2.12102fault diagnosislearning (artificial intelligence)program testing
spellingShingle Lingfeng Fu
Yan Lei
Meng Yan
Ling Xu
Zhou Xu
Xiaohong Zhang
MetaFL: Metamorphic fault localisation using weakly supervised deep learning
IET Software
fault diagnosis
learning (artificial intelligence)
program testing
title MetaFL: Metamorphic fault localisation using weakly supervised deep learning
title_full MetaFL: Metamorphic fault localisation using weakly supervised deep learning
title_fullStr MetaFL: Metamorphic fault localisation using weakly supervised deep learning
title_full_unstemmed MetaFL: Metamorphic fault localisation using weakly supervised deep learning
title_short MetaFL: Metamorphic fault localisation using weakly supervised deep learning
title_sort metafl metamorphic fault localisation using weakly supervised deep learning
topic fault diagnosis
learning (artificial intelligence)
program testing
url https://doi.org/10.1049/sfw2.12102
work_keys_str_mv AT lingfengfu metaflmetamorphicfaultlocalisationusingweaklysuperviseddeeplearning
AT yanlei metaflmetamorphicfaultlocalisationusingweaklysuperviseddeeplearning
AT mengyan metaflmetamorphicfaultlocalisationusingweaklysuperviseddeeplearning
AT lingxu metaflmetamorphicfaultlocalisationusingweaklysuperviseddeeplearning
AT zhouxu metaflmetamorphicfaultlocalisationusingweaklysuperviseddeeplearning
AT xiaohongzhang metaflmetamorphicfaultlocalisationusingweaklysuperviseddeeplearning