Experimental Results: Enhancing Fault Localization in Programs by Integrating Constraint-Based and Model Checking Techniques with Spectrum-Based Methods

About the Author

Author: Mohammed BEKKOUCHE

Affiliation: Maître de conférence classe A à l'École Nationale Supérieure en Informatique de Sidi Bel Abbès, Algérie

Summary of Experiments

This page provides the source of the experimental results obtained by combining LocFaults with spectrum-based techniques to support our journal paper titled: 'Enhancing Fault Localization in Programs by Integrating Constraint-Based and Model Checking Techniques with Spectrum-Based Methods'.

Benchmark: Tritype

Program: Tritypev1

Faulty Program Source Code: Tritypev1.java

View Tritypev1 Source Code

Spectrum-Based Fault Localization for Tritypev1

Program: Tritypev2

Faulty Program Source Code: Tritypev2.java

View Tritypev2 Source Code

Spectrum-Based Fault Localization for Tritypev2

Program: Tritypev3

Faulty Program Source Code: Tritypev3.java

View Tritypev3 Source Code

Spectrum-Based Fault Localization for Tritypev3

Program: Tritypev4

Faulty Program Source Code: Tritypev4.java

View Tritypev4 Source Code

Java Programs Used by LocFaults for Tritypev4

LocFaults Output for Tritypev4

Spectrum-Based Fault Localization for Tritypev4

Program: TriPerimetrev1

Faulty Program Source Code: TriPerimetrev1.java

View TriPerimetrev1 Source Code

Spectrum-Based Fault Localization for TriPerimetrev1

Program: TriPerimetrev2

Faulty Program Source Code: TriPerimetrev2.java

View TriPerimetrev2 Source Code

Spectrum-Based Fault Localization for TriPerimetrev2

Program: TriPerimetrev3

Faulty Program Source Code: TriPerimetrev3.java

View TriPerimetrev3 Source Code

Spectrum-Based Fault Localization for TriPerimetrev3

Program: TriPerimetrev4

Faulty Program Source Code: TriPerimetrev4.java

View TriPerimetrev4 Source Code

Spectrum-Based Fault Localization for TriPerimetrev4

Program: TriMultPerimetrev1

Faulty Program Source Code: TriMultPerimetrev1.java

View TriMultPerimetrev1 Source Code

Spectrum-Based Fault Localization for TriMultPerimetrev1

Program: Heronv2

Faulty Program Source Code: Heronv2.java

View Heronv2 Source Code

Spectrum-Based Fault Localization for Heronv2

Program: Heronv3

Faulty Program Source Code: Heronv3.java

View Heronv3 Source Code

LocFaults Output for Heronv3

Spectrum-Based Fault Localization for Heronv3

Program: Heronv5

Faulty Program Source Code: Heronv5.java

View Heronv5 Source Code

LocFaults Output for Heronv5

Spectrum-Based Fault Localization for Heronv5

Program: Heronv6

Faulty Program Source Code: Heronv6.java

View Heronv6 Source Code

Java Programs Used by LocFaults for Heronv6

LocFaults Output for Heronv6

Spectrum-Based Fault Localization for Heronv6

Benchmark: Tcas

Program: Tcasv1

Faulty Program Source Code: Tcasv1.java

View Tcasv1 Source Code

Java Programs Used by LocFaults for Tcasv1

LocFaults Output for Tcasv1

Spectrum-Based Fault Localization for Tcasv1

Program: Tcasv2

Faulty Program Source Code: Tcasv2.java

View Tcasv2 Source Code

LocFaults Output for Tcasv2

Spectrum-Based Fault Localization for Tcasv2

Program: Tcasv7

Faulty Program Source Code: Tcasv7.java

View Tcasv7 Source Code

Spectrum-Based Fault Localization for Tcasv7

Program: Tcasv8

Faulty Program Source Code: Tcasv8.java

View Tcasv8 Source Code

Java Programs Used by LocFaults for Tcasv8

LocFaults Output for Tcasv8

Spectrum-Based Fault Localization for Tcasv8

Program: Tcasv12

Faulty Program Source Code: Tcasv12.java

View Tcasv12 Source Code

LocFaults Output for Tcasv12

Spectrum-Based Fault Localization for Tcasv12

Program: Tcasv14

Faulty Program Source Code: Tcasv14.java

View Tcasv14 Source Code

Spectrum-Based Fault Localization for Tcasv14

Program: Tcasv16

Faulty Program Source Code: Tcasv16.java

View Tcasv16 Source Code

LocFaults Output for Tcasv16

Spectrum-Based Fault Localization for Tcasv16

Program: Tcasv17

Faulty Program Source Code: Tcasv17.java

View Tcasv17 Source Code

Spectrum-Based Fault Localization for Tcasv17

Program: Tcasv18

Faulty Program Source Code: Tcasv18.java

View Tcasv18 Source Code

Spectrum-Based Fault Localization for Tcasv18

Program: Tcasv23

Faulty Program Source Code: Tcasv23.java

View Tcasv23 Source Code

Spectrum-Based Fault Localization for Tcasv23

Program: Tcasv25

Faulty Program Source Code: Tcasv25.java

View Tcasv25 Source Code

Java Programs Used by LocFaults for Tcasv25

Spectrum-Based Fault Localization for Tcasv25

Program: Tcasv28

Faulty Program Source Code: Tcasv28.java

View Tcasv28 Source Code

LocFaults Output for Tcasv28

Spectrum-Based Fault Localization for Tcasv28

Program: Tcasv30

Faulty Program Source Code: Tcasv30.java

View Tcasv30 Source Code

LocFaults Output for Tcasv30

Spectrum-Based Fault Localization for Tcasv30

Program: Tcasv32

Faulty Program Source Code: Tcasv32.java

View Tcasv32 Source Code

Java Programs Used by LocFaults for Tcasv32

Spectrum-Based Fault Localization for Tcasv32

Program: Tcasv34

Faulty Program Source Code: Tcasv34.java

View Tcasv34 Source Code

LocFaults Output for Tcasv34

Spectrum-Based Fault Localization for Tcasv34

Program: Tcasv35

Faulty Program Source Code: Tcasv35.java

View Tcasv35 Source Code

LocFaults Output for Tcasv35

Spectrum-Based Fault Localization for Tcasv35

Program: Tcasv36

Faulty Program Source Code: Tcasv36.java

View Tcasv36 Source Code

Java Programs Used by LocFaults for Tcasv36

LocFaults Output for Tcasv36

Spectrum-Based Fault Localization for Tcasv36

Program: Tcasv37

Faulty Program Source Code: Tcasv37.java

View Tcasv37 Source Code

Java Programs Used by LocFaults for Tcasv37

LocFaults Output for Tcasv37

Spectrum-Based Fault Localization for Tcasv37

Program: Tcasv39

Faulty Program Source Code: Tcasv39.java

View Tcasv39 Source Code

Java Programs Used by LocFaults for Tcasv39

Spectrum-Based Fault Localization for Tcasv39

Program: Tcasv40

Faulty Program Source Code: Tcasv40.java

View Tcasv40 Source Code

Java Programs Used by LocFaults for Tcasv40

LocFaults Output for Tcasv40

Spectrum-Based Fault Localization for Tcasv40

Benchmark: BubbleSort

Some Detailed Results

This section presents detailed experimental results through selected tables and a graph.

Results Table

Average percentage improvement of our approach LocFaults+SBFL over pure SBFL techniques on the Tritype benchmark.

Technique Metric Performance
LocFaults+Ochiai over Ochiai Average Percentage Improvement 22.50%
LocFaults+Tarantula over Tarantula Average Percentage Improvement 8.83%
LocFaults+Jaccard over Jaccard Average Percentage Improvement 10.22%
LocFaults+Zoltar over Zoltar Average Percentage Improvement 34.73%

Average percentage improvement of our approach LocFaults+SBFL over pure SBFL techniques on the TCAS benchmark.

Technique Metric Performance
LocFaults+Ochiai over Ochiai Average Percentage Improvement 47.25%
LocFaults+Tarantula over Tarantula Average Percentage Improvement 56.47%
LocFaults+Jaccard over Jaccard Average Percentage Improvement 53.10%
LocFaults+Zoltar over Zoltar Average Percentage Improvement 36.36%

Exploration of the Scalability in Computation Time of MCSs and IISs in LocFaults for BubbleSort Benchmark.