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...
Saved in:
| Main Authors: | , , , , , |
|---|---|
| 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 |