\documentclass[11pt,twoside]{article}\makeatletter

\IfFileExists{xcolor.sty}%
  {\RequirePackage{xcolor}}%
  {\RequirePackage{color}}
\usepackage{colortbl}
\usepackage{wrapfig}
\usepackage{ifxetex}
\ifxetex
  \usepackage{fontspec}
  \usepackage{xunicode}
  \catcode`⃥=\active \def⃥{\textbackslash}
  \catcode`❴=\active \def❴{\{}
  \catcode`❵=\active \def❵{\}}
  \def\textJapanese{\fontspec{Noto Sans CJK JP}}
  \def\textChinese{\fontspec{Noto Sans CJK SC}}
  \def\textKorean{\fontspec{Noto Sans CJK KR}}
  \setmonofont{DejaVu Sans Mono}
  
\else
  \IfFileExists{utf8x.def}%
   {\usepackage[utf8x]{inputenc}
      \PrerenderUnicode{–}
    }%
   {\usepackage[utf8]{inputenc}}
  \usepackage[english]{babel}
  \usepackage[T1]{fontenc}
  \usepackage{float}
  \usepackage[]{ucs}
  \uc@dclc{8421}{default}{\textbackslash }
  \uc@dclc{10100}{default}{\{}
  \uc@dclc{10101}{default}{\}}
  \uc@dclc{8491}{default}{\AA{}}
  \uc@dclc{8239}{default}{\,}
  \uc@dclc{20154}{default}{ }
  \uc@dclc{10148}{default}{>}
  \def\textschwa{\rotatebox{-90}{e}}
  \def\textJapanese{}
  \def\textChinese{}
  \IfFileExists{tipa.sty}{\usepackage{tipa}}{}
\fi
\def\exampleFont{\ttfamily\small}
\DeclareTextSymbol{\textpi}{OML}{25}
\usepackage{relsize}
\RequirePackage{array}
\def\@testpach{\@chclass
 \ifnum \@lastchclass=6 \@ne \@chnum \@ne \else
  \ifnum \@lastchclass=7 5 \else
   \ifnum \@lastchclass=8 \tw@ \else
    \ifnum \@lastchclass=9 \thr@@
   \else \z@
   \ifnum \@lastchclass = 10 \else
   \edef\@nextchar{\expandafter\string\@nextchar}%
   \@chnum
   \if \@nextchar c\z@ \else
    \if \@nextchar l\@ne \else
     \if \@nextchar r\tw@ \else
   \z@ \@chclass
   \if\@nextchar |\@ne \else
    \if \@nextchar !6 \else
     \if \@nextchar @7 \else
      \if \@nextchar (8 \else
       \if \@nextchar )9 \else
  10
  \@chnum
  \if \@nextchar m\thr@@\else
   \if \@nextchar p4 \else
    \if \@nextchar b5 \else
   \z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi
   \fi \fi  \fi  \fi  \fi  \fi  \fi \fi \fi \fi \fi \fi}
\gdef\arraybackslash{\let\\=\@arraycr}
\def\@textsubscript#1{{\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}}
\def\Panel#1#2#3#4{\multicolumn{#3}{){\columncolor{#2}}#4}{#1}}
\def\abbr{}
\def\corr{}
\def\expan{}
\def\gap{}
\def\orig{}
\def\reg{}
\def\ref{}
\def\sic{}
\def\persName{}\def\name{}
\def\placeName{}
\def\orgName{}
\def\textcal#1{{\fontspec{Lucida Calligraphy}#1}}
\def\textgothic#1{{\fontspec{Lucida Blackletter}#1}}
\def\textlarge#1{{\large #1}}
\def\textoverbar#1{\ensuremath{\overline{#1}}}
\def\textquoted#1{‘#1’}
\def\textsmall#1{{\small #1}}
\def\textsubscript#1{\@textsubscript{\selectfont#1}}
\def\textxi{\ensuremath{\xi}}
\def\titlem{\itshape}
\newenvironment{biblfree}{}{\ifvmode\par\fi }
\newenvironment{bibl}{}{}
\newenvironment{byline}{\vskip6pt\itshape\fontsize{16pt}{18pt}\selectfont}{\par }
\newenvironment{citbibl}{}{\ifvmode\par\fi }
\newenvironment{docAuthor}{\ifvmode\vskip4pt\fontsize{16pt}{18pt}\selectfont\fi\itshape}{\ifvmode\par\fi }
\newenvironment{docDate}{}{\ifvmode\par\fi }
\newenvironment{docImprint}{\vskip 6pt}{\ifvmode\par\fi }
\newenvironment{docTitle}{\vskip6pt\bfseries\fontsize{22pt}{25pt}\selectfont}{\par }
\newenvironment{msHead}{\vskip 6pt}{\par}
\newenvironment{msItem}{\vskip 6pt}{\par}
\newenvironment{rubric}{}{}
\newenvironment{titlePart}{}{\par }

\newcolumntype{L}[1]{){\raggedright\arraybackslash}p{#1}}
\newcolumntype{C}[1]{){\centering\arraybackslash}p{#1}}
\newcolumntype{R}[1]{){\raggedleft\arraybackslash}p{#1}}
\newcolumntype{P}[1]{){\arraybackslash}p{#1}}
\newcolumntype{B}[1]{){\arraybackslash}b{#1}}
\newcolumntype{M}[1]{){\arraybackslash}m{#1}}
\definecolor{label}{gray}{0.75}
\def\unusedattribute#1{\sout{\textcolor{label}{#1}}}
\DeclareRobustCommand*{\xref}{\hyper@normalise\xref@}
\def\xref@#1#2{\hyper@linkurl{#2}{#1}}
\begingroup
\catcode`\_=\active
\gdef_#1{\ensuremath{\sb{\mathrm{#1}}}}
\endgroup
\mathcode`\_=\string"8000
\catcode`\_=12\relax

\usepackage[a4paper,twoside,lmargin=1in,rmargin=1in,tmargin=1in,bmargin=1in,marginparwidth=0.75in]{geometry}
\usepackage{framed}

\definecolor{shadecolor}{gray}{0.95}
\usepackage{longtable}
\usepackage[normalem]{ulem}
\usepackage{fancyvrb}
\usepackage{fancyhdr}
\usepackage{graphicx}
\usepackage{marginnote}

\renewcommand{\@cite}[1]{#1}


\renewcommand*{\marginfont}{\itshape\footnotesize}

\def\Gin@extensions{.pdf,.png,.jpg,.mps,.tif}

  \pagestyle{fancy}

\usepackage[pdftitle={Spectrum-based Fault Localization Techniques Application on Multiple-Fault Programs: A Review},
 pdfauthor={}]{hyperref}
\hyperbaseurl{}

	 \paperwidth210mm
	 \paperheight297mm
              
\def\@pnumwidth{1.55em}
\def\@tocrmarg {2.55em}
\def\@dotsep{4.5}
\setcounter{tocdepth}{3}
\clubpenalty=8000
\emergencystretch 3em
\hbadness=4000
\hyphenpenalty=400
\pretolerance=750
\tolerance=2000
\vbadness=4000
\widowpenalty=10000

\renewcommand\section{\@startsection {section}{1}{\z@}%
     {-1.75ex \@plus -0.5ex \@minus -.2ex}%
     {0.5ex \@plus .2ex}%
     {\reset@font\Large\bfseries}}
\renewcommand\subsection{\@startsection{subsection}{2}{\z@}%
     {-1.75ex\@plus -0.5ex \@minus- .2ex}%
     {0.5ex \@plus .2ex}%
     {\reset@font\Large}}
\renewcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}%
     {-1.5ex\@plus -0.35ex \@minus -.2ex}%
     {0.5ex \@plus .2ex}%
     {\reset@font\large}}
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
     {-1ex \@plus-0.35ex \@minus -0.2ex}%
     {0.5ex \@plus .2ex}%
     {\reset@font\normalsize}}
\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
     {1.5ex \@plus1ex \@minus .2ex}%
     {-1em}%
     {\reset@font\normalsize\bfseries}}


\def\l@section#1#2{\addpenalty{\@secpenalty} \addvspace{1.0em plus 1pt}
 \@tempdima 1.5em \begingroup
 \parindent \z@ \rightskip \@pnumwidth 
 \parfillskip -\@pnumwidth 
 \bfseries \leavevmode #1\hfil \hbox to\@pnumwidth{\hss #2}\par
 \endgroup}
\def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}}
\def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}}
\def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}}
\def\l@subparagraph{\@dottedtocline{5}{10em}{5em}}
\@ifundefined{c@section}{\newcounter{section}}{}
\@ifundefined{c@chapter}{\newcounter{chapter}}{}
\newif\if@mainmatter 
\@mainmattertrue
\def\chaptername{Chapter}
\def\frontmatter{%
  \pagenumbering{roman}
  \def\thechapter{\@roman\c@chapter}
  \def\theHchapter{\roman{chapter}}
  \def\thesection{\@roman\c@section}
  \def\theHsection{\roman{section}}
  \def\@chapapp{}%
}
\def\mainmatter{%
  \cleardoublepage
  \def\thechapter{\@arabic\c@chapter}
  \setcounter{chapter}{0}
  \setcounter{section}{0}
  \pagenumbering{arabic}
  \setcounter{secnumdepth}{6}
  \def\@chapapp{\chaptername}%
  \def\theHchapter{\arabic{chapter}}
  \def\thesection{\@arabic\c@section}
  \def\theHsection{\arabic{section}}
}
\def\backmatter{%
  \cleardoublepage
  \setcounter{chapter}{0}
  \setcounter{section}{0}
  \setcounter{secnumdepth}{2}
  \def\@chapapp{\appendixname}%
  \def\thechapter{\@Alph\c@chapter}
  \def\theHchapter{\Alph{chapter}}
  \appendix
}
\newenvironment{bibitemlist}[1]{%
   \list{\@biblabel{\@arabic\c@enumiv}}%
       {\settowidth\labelwidth{\@biblabel{#1}}%
        \leftmargin\labelwidth
        \advance\leftmargin\labelsep
        \@openbib@code
        \usecounter{enumiv}%
        \let\p@enumiv\@empty
        \renewcommand\theenumiv{\@arabic\c@enumiv}%
	}%
  \sloppy
  \clubpenalty4000
  \@clubpenalty \clubpenalty
  \widowpenalty4000%
  \sfcode`\.\@m}%
  {\def\@noitemerr
    {\@latex@warning{Empty `bibitemlist' environment}}%
    \endlist}

\def\tableofcontents{\section*{\contentsname}\@starttoc{toc}}
\parskip0pt
\parindent1em
\def\Panel#1#2#3#4{\multicolumn{#3}{){\columncolor{#2}}#4}{#1}}
\newenvironment{reflist}{%
  \begin{raggedright}\begin{list}{}
  {%
   \setlength{\topsep}{0pt}%
   \setlength{\rightmargin}{0.25in}%
   \setlength{\itemsep}{0pt}%
   \setlength{\itemindent}{0pt}%
   \setlength{\parskip}{0pt}%
   \setlength{\parsep}{2pt}%
   \def\makelabel##1{\itshape ##1}}%
  }
  {\end{list}\end{raggedright}}
\newenvironment{sansreflist}{%
  \begin{raggedright}\begin{list}{}
  {%
   \setlength{\topsep}{0pt}%
   \setlength{\rightmargin}{0.25in}%
   \setlength{\itemindent}{0pt}%
   \setlength{\parskip}{0pt}%
   \setlength{\itemsep}{0pt}%
   \setlength{\parsep}{2pt}%
   \def\makelabel##1{\upshape ##1}}%
  }
  {\end{list}\end{raggedright}}
\newenvironment{specHead}[2]%
 {\vspace{20pt}\hrule\vspace{10pt}%
  \phantomsection\label{#1}\markright{#2}%

  \pdfbookmark[2]{#2}{#1}%
  \hspace{-0.75in}{\bfseries\fontsize{16pt}{18pt}\selectfont#2}%
  }{}
      \def\TheFullDate{2020-01-15 (revised: 15 January 2020)}
\def\TheID{\makeatother }
\def\TheDate{2020-01-15}
\title{Spectrum-based Fault Localization Techniques Application on Multiple-Fault Programs: A Review}
\author{}\makeatletter 
\makeatletter
\newcommand*{\cleartoleftpage}{%
  \clearpage
    \if@twoside
    \ifodd\c@page
      \hbox{}\newpage
      \if@twocolumn
        \hbox{}\newpage
      \fi
    \fi
  \fi
}
\makeatother
\makeatletter
\thispagestyle{empty}
\markright{\@title}\markboth{\@title}{\@author}
\renewcommand\small{\@setfontsize\small{9pt}{11pt}\abovedisplayskip 8.5\p@ plus3\p@ minus4\p@
\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip \z@ plus2\p@
\belowdisplayshortskip 4\p@ plus2\p@ minus2\p@
\def\@listi{\leftmargin\leftmargini
               \topsep 2\p@ plus1\p@ minus1\p@
               \parsep 2\p@ plus\p@ minus\p@
               \itemsep 1pt}
}
\makeatother
\fvset{frame=single,numberblanklines=false,xleftmargin=5mm,xrightmargin=5mm}
\fancyhf{} 
\setlength{\headheight}{14pt}
\fancyhead[LE]{\bfseries\leftmark} 
\fancyhead[RO]{\bfseries\rightmark} 
\fancyfoot[RO]{}
\fancyfoot[CO]{\thepage}
\fancyfoot[LO]{\TheID}
\fancyfoot[LE]{}
\fancyfoot[CE]{\thepage}
\fancyfoot[RE]{\TheID}
\hypersetup{citebordercolor=0.75 0.75 0.75,linkbordercolor=0.75 0.75 0.75,urlbordercolor=0.75 0.75 0.75,bookmarksnumbered=true}
\fancypagestyle{plain}{\fancyhead{}\renewcommand{\headrulewidth}{0pt}}

\date{}
\usepackage{authblk}

\providecommand{\keywords}[1]
{
\footnotesize
  \textbf{\textit{Index terms---}} #1
}

\usepackage{graphicx,xcolor}
\definecolor{GJBlue}{HTML}{273B81}
\definecolor{GJLightBlue}{HTML}{0A9DD9}
\definecolor{GJMediumGrey}{HTML}{6D6E70}
\definecolor{GJLightGrey}{HTML}{929497} 

\renewenvironment{abstract}{%
   \setlength{\parindent}{0pt}\raggedright
   \textcolor{GJMediumGrey}{\rule{\textwidth}{2pt}}
   \vskip16pt
   \textcolor{GJBlue}{\large\bfseries\abstractname\space}
}{%   
   \vskip8pt
   \textcolor{GJMediumGrey}{\rule{\textwidth}{2pt}}
   \vskip16pt
}

\usepackage[absolute,overlay]{textpos}

\makeatother 
      \usepackage{lineno}
      \linenumbers
      
\begin{document}

             \author[1]{Abubakar  Zakari}

             \author[2]{Shamsu  Abdullahi}

             \author[3]{Nura Modi  Shagari}

             \author[4]{Abubakar Bello  Tambawal}

             \author[5]{Nuruddeen Musa  Shanono}

             \author[6]{Jaafar Zubairu  Maitama}

             \affil[1]{  Kano University of Science and Technology}

\renewcommand\Authands{ and }

\date{\small \em Received: 14 December 2019 Accepted: 2 January 2020 Published: 15 January 2020}

\maketitle


\begin{abstract}
        


Software fault localization is one of the most tedious and costly activities in program debugging in the endeavor to identify faults locations in a software program. In this paper, the studies that used spectrum-based fault localization (SBFL) techniques that makes use of different multiple fault localization debugging methods such as one-bug-at-a-time (OBA) debugging, parallel debugging, and simultaneous debugging in localizing multiple faults are classified and critically analyzed in order to extensively discuss the current research trends, issues, and challenges in this field of study. The outcome strongly shows that there is a high utilization of OBA debugging method, poor fault isolation accuracy, and dominant use of artificial faults that limit the existing techniques applicability in the software industry.

\end{abstract}


\keywords{software fault localization, fault interference, fault isolation, program debugging, multiple faults.}

\begin{textblock*}{18cm}(1cm,1cm) % {block width} (coords) 
\textcolor{GJBlue}{\LARGE Global Journals \LaTeX\ JournalKaleidoscope\texttrademark}
\end{textblock*}

\begin{textblock*}{18cm}(1.4cm,1.5cm) % {block width} (coords) 
\textcolor{GJBlue}{\footnotesize \\ Artificial Intelligence formulated this projection for compatibility purposes from the original article published at Global Journals. However, this technology is currently in beta. \emph{Therefore, kindly ignore odd layouts, missed formulae, text, tables, or figures.}}
\end{textblock*}


\let\tabcellsep& 	 	 		 
\section[{I. Introduction}]{I. Introduction}\par
n recent years, advances in software development have led to the increase in complexity of software programs, which adversely resulted in a rise in software failures \hyperref[b0]{[1]}. The introduction of these failures in a software program due to increasing complexity has negative impacts on software quality, and this has been attributed to the lack of software conformance to it defined requirements \hyperref[b1]{[2]}. Effective fault localization is important, as 50\% to 80\% of development and maintenance costs are spent in the debugging process that involves failure detection, fault localization, as well as fault repair \hyperref[b2]{[3,}\hyperref[b3]{4]}. Furthermore, this process (fault localization) is also considered as one of the most tedious, time-consuming, and costly activities in the debugging process \hyperref[b2]{[3]}. In the past few decades, fault localization has received much research attention, notably because the process tends to be difficult when conducted manually \hyperref[b4]{[5]}\hyperref[b5]{[6]}\hyperref[b6]{[7]}. Manual fault localization techniques are costly especially when applied in largescale software programs that have thousands or millions of lines of code \hyperref[b7]{[8]}.\par
In order to address the issues of manual fault localization techniques, researchers have proposed various automated fault localization techniques \hyperref[b8]{[9]}\hyperref[b9]{[10]}\hyperref[b10]{[11]}\hyperref[b11]{[12]}\hyperref[b12]{[13]}\hyperref[b13]{[14]}\hyperref[b14]{[15]}\hyperref[b15]{[16]}\hyperref[b16]{[17]}\hyperref[b17]{[18]}\hyperref[b18]{[19]}\hyperref[b19]{[20]}\hyperref[b20]{[21]}\hyperref[b21]{[22]}\hyperref[b22]{[23]}\hyperref[b23]{[24]}. Some techniques exploited program execution behavior whilst others attempted to build models to explain program failure \hyperref[b11]{[12,}\hyperref[b24]{25]}. Hence, most of these techniques are proven to be helpful in facilitating software development and maintenance process especially on single-fault programs \hyperref[b25]{[26]}. Although empirical studies revealed that failure in programs can be caused by multiple faults \hyperref[b10]{[11,}\hyperref[b26]{27]}, most existing studies localize faults based on the assumption that a program has a single fault \hyperref[b27]{[28]}. Consequently, this presumption adversely impacts the effectiveness of fault localization due to the possibility of having more than one fault in a faulty program \hyperref[b28]{[29,}\hyperref[b29]{30]}. Principally, this is due to fault interference, a phenomenon which plays a major role in the reduction of fault localization techniques effectiveness in the context of multiple fault. Previous studies \hyperref[b26]{[27,}\hyperref[b28]{29,}\hyperref[b30]{[31]}\hyperref[b31]{[32]}\hyperref[b32]{[33]} have empirically investigated this phenomenon and its effects on fault localization inferencing.\par
As for related work, Parmar et al. \hyperref[b33]{[34]} surveyed few automated fault localization techniques extensively where most of the techniques reviewed were statisticalbased, which are focused on localizing single faults. Similarly, another study \hyperref[b34]{[35]} surveyed some of the most important techniques and approaches in the domain of software fault localization, to give readers an overview of progress made in the field of research. However, the study also does not review works related to multiple fault localization. Moreover, Wong et al. \hyperref[b0]{[1,}\hyperref[b35]{36]} conducted an extensive general survey on software fault localization and highlighted both traditional and advanced software fault localization techniques holistically. Furthermore, issues and challenges facing both single fault localization and multiple fault localization were highlighted in general. Likewise, a previous study \hyperref[b36]{[37]} surveyed and categorized some of the most important techniques for automated fault localization and some I challenges in the field of study were also highlighted. The study also does not address multiple fault localization. Additionally, Perez et al. \hyperref[b37]{[38]} investigated automated fault localization techniques in relation to single fault localization. Another study \hyperref[b38]{[39]} conducted a survey on the state-of-the-art Spectrum-based fault localization techniques (SBFL) with respect to cost and quantity of faults. The study highlighted the recent advances and challenges on SBFL research. However, studies on multiple fault localization were not highlighted. Zakari et al. \hyperref[b39]{[40]} conducted a survey on software fault localization techniques. The study highlights some issues and limitations in the field of study. Additionally, Zakari et al. \hyperref[b40]{[41]} conducted a systematic mapping study on software fault localization to highlights the recent trends in the research domain. Overall, even though these studies investigated fault localization holistically, there has been limited or no studies conducted to review studies that use SBFL techniques for multiple fault localization.\par
In order to address this gap, we conducted a review to analyse, classify and critically investigate studies on multiple fault localization that are specifically based on SBFL techniques. Based on our methodology in Section 2, 30 studies are selected for this study. This survey is essential so that software engineers and testers will be able to deeply understand the field of study. Additionally, through this survey, researchers would be able to identify research issues and challenges to eventually propose effective solutions.\par
The remaining part of this paper is organized into different sections. Section 2 highlights the research methodology. Section 3 gives the discussion. Section 4 presents the issues and challenges. The study is concluded in Section 5. 
\section[{II. Research Methodology}]{II. Research Methodology}\par
In this section, the methodology adopted for paper selection is presented to aid in selecting the most suitable papers in the research area. Papers on multiple fault localization that strictly used the SBFL technique were selected for this study. This is important so as to narrow down the review space to a more define problem space and to also select important papers. The systematic methodology was adopted following the guidelines of Kitchenham \hyperref[b41]{[42]}. 
\section[{a) Search Criteria}]{a) Search Criteria}\par
In order to select the papers for this survey, a search was conducted on various digital library sources to not miss out on relevant papers. In this process, the following digital libraries were selected; IEEE Xplore, ACM, and Springer. Primarily, search criteria were conducted by composing a search query. This involved inclusion of important terms, keywords, and their synonyms based on the purpose of this paper. Hence, only peer-reviewed articles were targeted. The search string used in our former study is adopted \hyperref[b40]{[41]}.\par
The earliest selected study was published in 2011 and the last date was set to 2018 in order to confirm that all related relevant papers within this period are included. Based on Kitchenham \hyperref[b41]{[42]} recommendation, only papers written in English were considered. Additionally, the search is narrowed down to only papers that address the issue of multiple fault localization and also utilized the SBFL technique for fault localization. Therefore, papers that do not utilized SBFL technique were excluded, also, survey/review papers were also not considered. Based on these criteria, 1160 potential papers were initially collected. 
\section[{b) Paper Selection Strategy}]{b) Paper Selection Strategy}\par
Based on the above defined search criteria, a three-stage paper selection strategy shown in Figure \hyperref[fig_0]{1} was conducted, as follows:\par
Stage 1: In this stage, 1160 potential papers were thoroughly checked to remove any duplicates. However, a large number of irrelevant papers were also observed due to conflict between topics. For instance, faults and localization terms are related to topics in electrical engineering research field or can be related to other fields in physics and telecommunications. Finally, after Stage 1, 350 papers were considered.\par
Stage 2: In this stage, the abstracts of the 350 selected papers were checked based on the purpose of this paper. In this process, papers were classified based on their application on multiple-fault programs and the basic techniques utilized. As a result, 120 papers were obtained.\par
Stage 3: In this stage, the research team read the full text of all the 120 papers. Out of these, 30 papers were found to directly relate to the purpose of this paper.  
\section[{III. Discussion}]{III. Discussion}\par
In this section, the papers are critically analyzed. In addition, recent trends were identified in the field of study. 
\section[{a) Studies on Fault Interference Phenomenon}]{a) Studies on Fault Interference Phenomenon}\par
Fault interference is a phenomenon that alters the behavioral normality of tests execution when more than one fault exists in a program under test. This phenomenon is inevitable in a multiple fault scenario. Existing studies \hyperref[b28]{[29,}\hyperref[b30]{31]} showed the high occurrence of both "constructive interference" and "destructive interference" where the latter is the most prevalent. A study by \hyperref[b32]{[33]} also has nearly the same results based on an experiment on object-oriented Java programs, whereby "destructive interference" has the most prevalence. Constructive interference occurs when a test case that passed in the presence of single fault fails in the presence of multiple faults. On the other hand, destructive interference takes place when a test case that failed in the presence of single fault passes in the presence of multiple faults. This also implies that the higher the number of faults, the higher the frequency of interferences. It was observed that test cases that failed on a multiple-fault program might not be enough to effectively localize faults. Hence, most existing studies observed the reduction in effectiveness especially when using the SBFL techniques for fault localization. However, most of the existing studies report that a single fault can be localized with relatively good effectiveness \hyperref[b28]{[29,}\hyperref[b42]{43]}.\par
Moreover, the existing studies found out that the more faults a program has, the more interference occurs. This means that faults will be tough to localize if a program has many faults. We have identified four studies from our selected papers that investigate the fault interference phenomenon. These studies showed the impact of multiple faults on localization inferencing. The studies highlighted in Table \hyperref[tab_0]{1} are all the investigative studies done from 2011 to access the impact of fault interference on localization inferencing on programs with multiple faults, as well as to identify which type of interference is the most prevalent. Practically, the studies in Table \hyperref[tab_0]{1} have all been conducted using the One-bug-at-a-time (OBA) debugging method. These studies do not only show that interference occurs but clearly shows the disadvantages of utilizing an OBA method for multiple fault localization. We observed that all the studies on fault interference phenomenon have concluded that destructive interference is the most prevalent. 
\section[{b) Classification of Debugging Methods Utilized in Localizing Multiple Faults across the Selected Studies}]{b) Classification of Debugging Methods Utilized in Localizing Multiple Faults across the Selected Studies}\par
In this section, debugging methods were identified that are used to localize multiple faults. Hence, the selected papers were classified based on the method utilized. We have identified three prominent debugging methods that are used in localizing multiple faults from the selected papers which are OBA debugging method, parallel debugging method, and simultaneous debugging method. Table \hyperref[tab_1]{2} shows that 80\% of the selected papers used the OBA method, followed by parallel debugging method with 16.7\%, and simultaneous method with 3.3\%. This shows that the OBA method is the most utilized among the three identified debugging methods. This indicates that most of the studies utilizing the SBFL technique used the OBA method for multiple fault localization, with few studies adopting both parallel debugging method and simultaneous debugging method.\par
research domain, which are real faults and artificial faults. This section will highlight statistically the use of faults types by our selected papers.\par
Artificial faults are faults that are manually seeded or created using mutation-based fault injection techniques in order to create program versions with many faults. Moreover, real faults are real world faults that naturally resides in the program under test without human interference in adding it. A recent study \hyperref[b68]{[68]} evaluated the effectiveness of existing fault localization formulae by using both artificial faults and real faults. The result of the study shows that the outcome of a fault localization technique used in programs with artificial faults is insignificant as compared to the same experiment on programs with real faults. This also implies that generalization of fault localization results based on programs with artificial faults is not realistic as compared to results on the same programs containing real faults. However, we observed that artificial faults are the most commonly used faults in the selected papers despite its disadvantages. Therefore, this undermines the generalization of the existing studies results in the software industry \hyperref[b0]{[1]}. 
\section[{Figure 2:}]{Figure 2:}\par
Fault utilization across all the selected studies Figure  {\ref 2} shows the distribution of fault utilization across all the selected papers. From the figure, we observed that 56\% of the studies used artificial faults, 27\% used real faults, while 17\% used both real and artificial faults in their experiments, respectively. 
\section[{d) The Evaluation Metrics Utilized Across the Selected Studies}]{d) The Evaluation Metrics Utilized Across the Selected Studies}\par
Evaluation metrics are standard metrics used in assessing the effectiveness of a given software fault localization technique. Table \hyperref[tab_2]{3} shows the list of identified evaluation metrics used from the selected papers. Four key evaluation metrics were identified, namely Exam score, Expense score, Wasted effort, and Precision \& recall. Expense score is defined as the percentage of code that a programmer needs to examine so as to find only the first bug in a multiple-fault program \hyperref[b7]{[8]}. On the other hand, Exam score is defined as a percentage of executable statements that needs to be examined to find a fault \hyperref[b42]{[43]}. Also, Wasted effort was defined by Abreu et al. \hyperref[b69]{[69]} as the percentage of nonfaulty program statements that were checked before the faulty statement is found. And, Precision \& recall refers to the number and ratio of lines of code that are identified to be faulty with respect to the overall program lines of code.\par
Out of the 30 selected papers, 33.3\% of the studies use Expense score, 23.3\% use Exam score, 13.3\% use Wasted effort, and lastly 10\% use Precision \& recall. However, for 6 (20\%) studies, the evaluation metric used was not clear. Therefore, the findings show that Expense score and Exam score are the most utilized by the selected papers, respectively.  
\section[{Evaluation metrics Studies}]{Evaluation metrics Studies}\par
Expense score \hyperref[b16]{[17,}\hyperref[b26]{27,}\hyperref[b28]{29,}\hyperref[b32]{33,}\hyperref[b52]{[52]}\hyperref[b53]{[53]}\hyperref[b54]{[54]}\hyperref[b55]{[55]}\hyperref[b56]{[56]}\hyperref[b57]{[57]} Exam score  {\ref [43, 49-51, 63, 64, 67]} Wasted effort \hyperref[b45]{[46]}\hyperref[b46]{[47]}\hyperref[b48]{[48]}\hyperref[b65]{65]} Precision \& recall \hyperref[b43]{[44,}\hyperref[b44]{45,}\hyperref[b66]{66]} e) Fault Isolation Fault isolation is the process of isolating faults caused by different failures into separate clusters for efficient and more effective multiple fault localization. Most of the selected papers that utilized method such as parallel debugging used various clustering algorithms to isolate faults.\par
From the selected papers, k-mean clustering has shown to be better than most of the existing clustering algorithms used for isolating faults \hyperref[b63]{[63]}. Clustering algorithms have contributed immensely to fault isolation \hyperref[b70]{[70]}, which further aids in localizing multiple faults. From the selected studies, five works were found to utilize various clustering algorithms for fault isolation, thus representing 16.7\% of the selected studies \hyperref[b16]{[17,}\hyperref[b63]{[63]}\hyperref[b64]{[64]}\hyperref[b65]{[65]}\hyperref[b66]{[66]}. This trend shows the importance of clustering algorithms in multiple fault localization. 
\section[{IV. Issues \& Challenges}]{IV. Issues \& Challenges}\par
While investigating the selected papers, different research issues and challenges were identified. Highlighting these issues and challenges is important and is expected to help researchers to further address them.\par
Firstly, fault interference is no doubt an inevitable factor as it occurs when more than one fault exists in a software program. This phenomenon reduces fault localization techniques inferencing due to fault-tofailure complexity \hyperref[b28]{[29]}. With the utilization of method such as parallel debugging, this phenomenon has been subsided with the aid of clustering algorithms for fault isolation. However, various studies indicated the lack of Artificial faults 56\% 
\section[{Real faults 27\%}]{Real faults 27\%}\par
Both 17\%\par
accuracy of these algorithms isolating faults \hyperref[b10]{[11,}\hyperref[b63]{63]}. Perhaps, better clustering algorithms are needed to resolve this issue which will help reduce the impact of fault interference and improve localization effectiveness.\par
OBA debugging method has gained a lot of attention in recent years particularly among studies utilizing the SBFL technique, with 80\% of the selected papers utilizing the method. Various studies have hinted on the shortcomings in using the method for localizing multiple faults, because more time needs to be spent in the localization process and additional faults might be introduced in the software program \hyperref[b19]{[20,}\hyperref[b28]{29,}\hyperref[b32]{33]}. However, its increased usage is alarming, with methods design to solve the problem having less attention such as simultaneous method with 3.3\% contribution, and parallelization method with 16.7\% contribution. Hence, in order to improve localization effectiveness in multiple fault context, more studies in these two methods (parallel and simultaneous methods) is of eminent importance.\par
Furthermore, artificial faults are often used to replicate real faults behavior. These faults are manually seeded or inserted using mutation-based fault injection techniques in a software program. As depicted in Figure  {\ref 2}, most of the studies are using artificial faults (56\%), but this trend can be associated with the high usage of standard subject programs such as Siemens suite programs. This trend is a concern because Siemens suite programs contain single faults by default \hyperref[b69]{[69]}. Therefore, a researcher has to seed the faults (artificial fault) to create multiple-fault versions. This process is expected to cause bias in the whole fault localization process and raise many questions on the credibility of the fault localization technique in the software industries. Hence, more utilization of real programs with real faults can aid in generating credible fault localization results and further encourage the use of fault localization techniques in the software industry.\par
Moreover, on fault isolation, looking at the importance of clustering algorithms in the isolation of multiple faults and the lack of accuracy affecting the existing algorithms utilized in the literature, exploring machine learning algorithms might improve fault isolation accuracy and enhance both effectiveness and efficiency in the fault localization process in the research domain. Overall, multiple fault localization research area has gain reasonable attention in the last decade. However, for the research area to progress, the highlighted issues and challenges need to be resolved with novel or enhanced solutions. 
\section[{V. Conclusion}]{V. Conclusion}\par
Over the years, software has become larger and more complex with fault localization being even more difficult than ever before. Fault localization has become even more challenging when applied to software programs with multiple faults, particularly when using the one-bug-at-a-time (OBA) debugging method. Multiple faults reduce the efficacy of the existing fault localization techniques due to fault interference phenomenon. However, the utilization of OBA method will increase software time-to-delivery and also bring more faults to the program under test. Researchers have proposed various techniques and methods to tackle this problem and provide an environment for developers to localize multiple faults simultaneously. Methods such as simultaneous and parallelization have been used to help solve these issues. However, with all the research efforts, the localization effectiveness and fault isolation accuracy are still not optimal. In this study, 30 papers from 2011-2018 based on multiple fault localization using spectrum-based fault localization (SBFL) techniques were extensively reviewed. Additionally, trends, issues, and challenges were identified and discussed to further help researchers get a holistic understanding of the field of study.\par
Based on the obtained results, research on multiple fault localization using the SBFL technique has gained momentous attention in the last decade. Key findings relate to fault interference, multiple fault debugging methods, fault types, evaluation metrics utilized, and fault isolation were identified and explored. Furthermore, the use of artificial faults to access a fault localization technique effectiveness does not depict real industrial reality. Artificial faults are dominantly used by our selected in multiple fault localization research (See Figure  {\ref 2}) particularly due to the high utilization of the Siemens suite programs by the selected studies. Therefore, addressing these issues are crucial to the application of the existing multiple fault localization techniques in the software industry.\begin{figure}[htbp]
\noindent\textbf{1}\includegraphics[]{image-2.png}
\caption{\label{fig_0}Figure 1 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{1} \par 
\begin{longtable}{P{0.19809322033898305\textwidth}P{0.09004237288135593\textwidth}P{0.07203389830508473\textwidth}P{0.07923728813559322\textwidth}P{0.41059322033898304\textwidth}}
Source\tabcellsep Reference\tabcellsep Year\tabcellsep Fault interference\tabcellsep The most prevalent\\
IEEE (ICSM)\tabcellsep {}[32]\tabcellsep 2011\tabcellsep ?\tabcellsep Destructive interference\\
ACM (ISSTA)\tabcellsep {}[27]\tabcellsep 2011\tabcellsep ?\tabcellsep Destructive interference\\
IEEE (ISESEM)\tabcellsep {}[33]\tabcellsep 2013\tabcellsep ?\tabcellsep Destructive interference\\
Springer (ESE)\tabcellsep {}[29]\tabcellsep 2015\tabcellsep ?\tabcellsep Destructive interference\end{longtable} \par
 
\caption{\label{tab_0}Table 1 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{2} \par 
\begin{longtable}{P{0.14440860215053763\textwidth}P{0.6745161290322581\textwidth}P{0.0310752688172043\textwidth}}
Method\tabcellsep Papers\tabcellsep \%\\
One-bug-at-a-time (OBA) debugging\tabcellsep {}[27, 29, 32, 33, 43-62]\tabcellsep 80\%\\
Parallel debugging\tabcellsep {}[17, 63-66]\tabcellsep 16.7\%\\
Simultaneous debugging\tabcellsep {}[67]\tabcellsep 3.3\%\\
\tabcellsep \multicolumn{2}{l}{c) Fault Types that are Utilized in All the Selected}\\
\tabcellsep Studies\tabcellsep \\
\tabcellsep \multicolumn{2}{l}{Fault types play a vital role in software fault}\\
\tabcellsep \multicolumn{2}{l}{localization research, especially in localizing multiple}\\
\tabcellsep \multicolumn{2}{l}{faults. Fault types are the type of faults used in the}\\
\tabcellsep \multicolumn{2}{l}{selected papers to generate multiple-fault versions.}\\
\tabcellsep \multicolumn{2}{l}{There are two main categories of faults in software fault}\end{longtable} \par
 
\caption{\label{tab_1}Table 2 :}\end{figure}
 \begin{figure}[htbp]
\noindent\textbf{3} \par 
\begin{longtable}{}
\end{longtable} \par
 
\caption{\label{tab_2}Table 3 :}\end{figure}
 			\footnote{© 2020 Global Journals} 			\footnote{© 2020 Global Journals Spectrum-based Fault Localization Techniques Application on Multiple-Fault Programs: A Review} 			\footnote{Spectrum-based Fault Localization Techniques Application on Multiple-Fault Programs: A Review} 		 		\backmatter  			  				\begin{bibitemlist}{1}
\bibitem[Wong et al. ()]{b14}\label{b14} 	 		\textit{},  		 			W E Wong 		,  		 			Y Qi 		,  		 			Bp Neural Network-Based Effective Fault Localization 		.  	 	 		\textit{International Journal of Software Engineering and Knowledge Engineering}  		2009. 19  (4)  p. .  	 
\bibitem[Ghandehari ()]{b50}\label{b50} 	 		‘A Combinatorial Testing-Based Approach to Fault Localization’.  		 			L S Ghandehari 		.  	 	 		\textit{IEEE Transactions on Software Engineering}  		2018.  	 
\bibitem[Zakari et al. ()]{b29}\label{b29} 	 		\textit{A Community-Based Fault Isolation Approach for Effective Simultaneous Localization of Faults},  		 			A Zakari 		,  		 			S P Lee 		,  		 			I A T Hashem 		.  		2019. IEEE Access. 7 p. .  	 
\bibitem[Wong ()]{b11}\label{b11} 	 		\textit{A crosstab-based statistical method for effective fault localization. in Software Testing, Verification, and Validation},  		 			E Wong 		.  		2008. 2008. IEEE. p. 1.  	 
\bibitem[Perez et al. ()]{b54}\label{b54} 	 		‘A dynamic code coverage approach to maximize fault localization efficiency’.  		 			A Perez 		,  		 			R Abreu 		,  		 			A Riboira 		.  	 	 		\textit{Journal of Systems and Software}  		2014. 90 p. .  	 
\bibitem[Lamraoui and Nakajima ()]{b15}\label{b15} 	 		‘A Formula-based Approach for Automatic Fault Localization of Multifault Programs’.  		 			S.-M Lamraoui 		,  		 			S Nakajima 		.  	 	 		\textit{Journal of Information Processing}  		2016. 24  (1)  p. .  	 
\bibitem[Xu ()]{b51}\label{b51} 	 		\textit{A general noise-reduction framework for fault localization of Java programs. Information and Software Technology},  		 			J Xu 		.  		2013. 55 p. .  	 
\bibitem[Zakari et al. ()]{b1}\label{b1} 	 		‘A Hybrid Three-Phased Approach in Requirement Elicitation’.  		 			A Zakari 		,  		 			A A Lawan 		,  		 			G Bekaroo 		.  	 	 		\textit{International Conference on Emerging Trends in Electrical, Electronic and Communications Engineering},  				2016. Springer.  	 
\bibitem[Naish et al. ()]{b24}\label{b24} 	 		‘A model for spectra-based software diagnosis’.  		 			L Naish 		,  		 			H J Lee 		,  		 			K Ramamohanarao 		.  	 	 		\textit{ACM Transactions on software engineering and methodology (TOSEM)},  				2011. 20 p. 11.  	 
\bibitem[Rosenblum ()]{b5}\label{b5} 	 		‘A practical approach to programming with assertions’.  		 			Rosenblum 		.  	 	 		\textit{IEEE transactions on Software Engineering}  		1995. 21  (1)  p. .  	 
\bibitem[Wong and Debroy ()]{b35}\label{b35} 	 		\textit{A survey of software fault localization},  		 			W E Wong 		,  		 			V Debroy 		.  		2009.  		 			Department of Computer Science, University of Texas at Dallas 		 	 	 (Tech. Rep. UTDCS-45) 
\bibitem[Wong ()]{b0}\label{b0} 	 		‘A survey on software fault localization’.  		 			W E Wong 		.  	 	 		\textit{IEEE Transactions on Software Engineering}  		2016. 42  (8)  p. .  	 
\bibitem[Perez et al. ()]{b22}\label{b22} 	 		‘A test-suite diagnosability metric for spectrum-based fault localization approaches’.  		 			A Perez 		,  		 			R Abreu 		,  		 			A Van Deursen 		.  	 	 		\textit{Proceedings of the 39th International Conference on Software Engineering},  				 (the 39th International Conference on Software Engineering)  		2017. IEEE Press.  	 
\bibitem[Zhang ()]{b49}\label{b49} 	 		‘A theoretical analysis on cloning the failed test cases to improve spectrum-based fault localization’.  		 			L Zhang 		.  	 	 		\textit{Journal of Systems and Software}  		2017. 129 p. .  	 
\bibitem[Agrawal et al.]{b4}\label{b4} 	 		 			H Agrawal 		,  		 			R A Demillo 		,  		 			E H Spafford 		.  		\textit{Efficient Debugging with Slicing and Backtracking},  				 	 
\bibitem[Yu et al. ()]{b7}\label{b7} 	 		‘An empirical study of the effects of test-suite reduction on fault localization’.  		 			Y Yu 		,  		 			J A Jones 		,  		 			M J Harrold 		.  	 	 		\textit{Proceedings of the 30th international conference on Software engineering},  				 (the 30th international conference on Software engineering)  		2008. ACM.  	 
\bibitem[Huang ()]{b63}\label{b63} 	 		‘An empirical study on clustering for isolating bugs in fault localization’.  		 			Y Huang 		.  	 	 		\textit{Software Reliability Engineering Workshops (ISSREW), 2013 IEEE International Symposium on},  				2013. IEEE.  	 
\bibitem[Abreu and Zoeteweij ()]{b25}\label{b25} 	 		‘An evaluation of similarity coefficients for software fault localization’.  		 			R Abreu 		,  		 			P Zoeteweij 		.  	 	 		\textit{12th Pacific Rim International Symposium on Dependable Computing (PRDC'06},  				2006. 2006. IEEE.  	 
\bibitem[Pal and Mohiuddin ()]{b34}\label{b34} 	 		\textit{Automated Bug Localization of Software Programs: A Survey Report1},  		 			D Pal 		,  		 			R Mohiuddin 		.  		2013.  	 
\bibitem[Xia ()]{b59}\label{b59} 	 		\textit{Automated debugging considered harmful" considered harmful: A user study revisiting the usefulness of spectra-based fault localization techniques with professionals using real bugs from large systems},  		 			X Xia 		.  		2016.  	 
\bibitem[Alipour ()]{b36}\label{b36} 	 		\textit{Automated fault localization techniques: a survey},  		 			M A Alipour 		.  		2012.  		 			Oregon State University 		 	 
\bibitem[Zhang ()]{b45}\label{b45} 	 		‘Boosting spectrum-based fault localization using PageRank’.  		 			M Zhang 		.  	 	 		\textit{Proceedings of the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis},  				 (the 26th ACM SIGSOFT International Symposium on Software Testing and Analysis)  		2017. ACM.  	 
\bibitem[Jones et al. ()]{b10}\label{b10} 	 		‘Debugging in parallel’.  		 			J A Jones 		,  		 			J F Bowring 		,  		 			M J Harrold 		.  	 	 		\textit{Proceedings of the 2007 international symposium on Software testing and analysis},  				 (the 2007 international symposium on Software testing and analysis)  		2007. ACM.  	 
\bibitem[Yu ()]{b43}\label{b43} 	 		‘Does the Failing Test Execute a Single or Multiple Faults? An Approach to Classifying Failing Tests’.  		 			Z X Yu 		.  	 	 		\textit{Ieee/Acm 37th Ieee International Conference on Software Engineering},  				2015. 2015. 1 p. .  	 
\bibitem[Jeffrey et al. ()]{b13}\label{b13} 	 		\textit{Effective and efficient localization of multiple faults using value replacement. in Software Maintenance},  		 			D Jeffrey 		,  		 			N Gupta 		,  		 			R Gupta 		.  		2009. 2009. 2009. IEEE.  	 
\bibitem[Kang et al. ()]{b23}\label{b23} 	 		‘Empirical evaluation of conditional operators in GP based fault localization’.  		 			D Kang 		,  		 			J Sohn 		,  		 			S Yoo 		.  	 	 		\textit{Proceedings of the Genetic and Evolutionary Computation Conference},  				 (the Genetic and Evolutionary Computation Conference)  		2017. ACM.  	 
\bibitem[Jones and Harrold ()]{b19}\label{b19} 	 		‘Empirical evaluation of the tarantula automatic fault-localization technique’.  		 			J A Jones 		,  		 			M J Harrold 		.  	 	 		\textit{20th IEEE/ACM International Conference on Automated Software Engineering, ASE 2005},  				2005.  	 
\bibitem[Lee et al.]{b57}\label{b57} 	 		‘Enhanced Fault Localization by Weighting Test Cases with Multiple Faults’.  		 			J Lee 		,  		 			J Kim 		,  		 			E Lee 		.  	 	 		\textit{Proceedings of the International Conference on Software Engineering Research and Practice (SERP). 2016. The Steering Committee of The World Congress in Computer Science},  				 (the International Conference on Software Engineering Research and Practice (SERP). 2016. The Steering Committee of The World Congress in Computer Science)  		 	 
\bibitem[Pearson ()]{b68}\label{b68} 	 		‘Evaluating and improving fault localization’.  		 			S Pearson 		.  	 	 		\textit{Proceedings of the 39th International Conference on Software Engineering},  				 (the 39th International Conference on Software Engineering)  		2017. IEEE Press.  	 
\bibitem[Collofello and Woodfield ()]{b2}\label{b2} 	 		‘Evaluating the effectiveness of reliability-assurance techniques’.  		 			J S Collofello 		,  		 			S N Woodfield 		.  	 	 		\textit{Journal of systems and software}  		1989. 9  (3)  p. .  	 
\bibitem[Zhang et al. ()]{b44}\label{b44} 	 		‘Exploring the usefulness of unlabelled test cases in software fault localization’.  		 			X.-Y Zhang 		,  		 			Z Zheng 		,  		 			K.-Y Cai 		.  	 	 		\textit{Journal of Systems and Software}  		2018. 136 p. .  	 
\bibitem[Lucia ()]{b53}\label{b53} 	 		\textit{Extended comprehensive study of association measures for fault localization},  		 			L Lucia 		.  		2014. 26 p. .  	 	 (Journal of software: Evolution and Process) 
\bibitem[Digiuseppe and Jones ()]{b28}\label{b28} 	 		\textit{Fault density, fault types, and spectra-based fault localization. Empirical Software Engineering},  		 			N Digiuseppe 		,  		 			J A Jones 		.  		2015. 20 p. .  	 
\bibitem[Digiuseppe and Jones ()]{b31}\label{b31} 	 		‘Fault interaction and its repercussions’.  		 			N Digiuseppe 		,  		 			J A Jones 		.  	 	 		\textit{27th IEEE International Conference on},  				2011. 2011. IEEE.  	 	 (Software Maintenance (ICSM)) 
\bibitem[Zheng et al. ()]{b27}\label{b27} 	 		\textit{Fault Localization Analysis Based on Deep Neural Network},  		 			W Zheng 		,  		 			D S Hu 		,  		 			J Wang 		.  		2016. 2016.  	 	 (Mathematical Problems in Engineering) 
\bibitem[Wang and Liu ()]{b17}\label{b17} 	 		‘Fault localization using disparities of dynamic invariants’.  		 			X Wang 		,  		 			Y Liu 		.  	 	 		\textit{Journal of Systems and Software}  		2016. 122 p. .  	 
\bibitem[Renieres and Reiss ()]{b21}\label{b21} 	 		‘Fault localization with nearest neighbor queries’.  		 			M Renieres 		,  		 			S P Reiss 		.  	 	 		\textit{Proceedings. 18th IEEE International Conference on},  				 (18th IEEE International Conference on)  		2003. 2003. IEEE.  	 	 (Automated Software Engineering) 
\bibitem[Dickinson et al. ()]{b20}\label{b20} 	 		‘Finding failures by cluster analysis of execution profiles’.  		 			W Dickinson 		,  		 			D Leon 		,  		 			A Podgurski 		.  	 	 		\textit{Proceedings of the 23rd international conference on Software engineering},  				 (the 23rd international conference on Software engineering)  		2001. IEEE Computer Society.  	 
\bibitem[Laghari et al.]{b46}\label{b46} 	 		‘Fine-tuning spectrum based fault localisation with frequent method item sets’.  		 			G Laghari 		,  		 			A Murgia 		,  		 			S Demeyer 		.  	 	 		\textit{Proceedings of the 31st},  				 (the 31st)  		 	 
\bibitem[Xue and Namin ()]{b32}\label{b32} 	 		‘How Significant is the Effect of Fault Interactions on Coverage-Based Fault Localizations’.  		 			X Xue 		,  		 			A S Namin 		.  	 	 		\textit{2013 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement},  				2013. IEEE.  	 
\bibitem[IEEE/ACM International Conference on Automated Software Engineering ()]{b47}\label{b47} 	 		\textit{IEEE/ACM International Conference on Automated Software Engineering},  				2016. ACM.  	 
\bibitem[Steimann and Frenkel ()]{b64}\label{b64} 	 		‘Improving coveragebased localization of multiple faults using algorithms from integer linear programming’.  		 			F Steimann 		,  		 			M Frenkel 		.  	 	 		\textit{2012 IEEE 23rd International Symposium on Software Reliability Engineering},  				2012. IEEE.  	 
\bibitem[Neelofar ()]{b48}\label{b48} 	 		\textit{Improving spectral-based fault localization using static analysis. Software: Practice and Experience},  		 			N Neelofar 		.  		2017.  	 
\bibitem[Baudry et al. ()]{b18}\label{b18} 	 		‘Improving test suites for efficient fault localization’.  		 			B Baudry 		,  		 			F Fleurey 		,  		 			Y Le Traon 		.  	 	 		\textit{Proceedings -International Conference on Software Engineering},  				 (-International Conference on Software Engineering)  		2006.  	 
\bibitem[Debroy and Wong ()]{b30}\label{b30} 	 		‘Insights on fault interference for programs with multiple bugs’.  		 			V Debroy 		,  		 			W E Wong 		.  	 	 		\textit{20th International Symposium on Software Reliability Engineering},  				2009. 2009. IEEE.  	 
\bibitem[Sun ()]{b16}\label{b16} 	 		‘IPSETFUL: an iterative process of selecting test cases for effective fault localization by exploring concept lattice of program spectra’.  		 			X Sun 		.  	 	 		\textit{Frontiers of Computer Science}  		2016. 10  (5)  p. .  	 
\bibitem[Zheng ()]{b67}\label{b67} 	 		‘Localizing multiple software faults based on evolution algorithm’.  		 			Y Zheng 		.  	 	 		\textit{Journal of Systems and Software}  		2018. 139 p. .  	 
\bibitem[Abreu et al. ()]{b12}\label{b12} 	 		‘Localizing software faults simultaneously’.  		 			R Abreu 		,  		 			P Zoeteweij 		,  		 			A J Van Gemund 		.  	 	 		\textit{2009 Ninth International Conference on Quality Software},  				2009. IEEE.  	 
\bibitem[Högerle et al. ()]{b65}\label{b65} 	 		‘More Debugging in Parallel’.  		 			W Högerle 		,  		 			F Steimann 		,  		 			M Frenkel 		.  	 	 		\textit{2014 IEEE 25th International Symposium on Software Reliability Engineering},  				2014. IEEE.  	 
\bibitem[Naish and Ramamohanarao ()]{b55}\label{b55} 	 		‘Multiple Bug Spectral Fault Localization Using Genetic Programming’.  		 			L Naish 		,  		 			K Ramamohanarao 		.  	 	 		\textit{Software Engineering Conference (ASWEC)},  				2015 24th Australasian. 2015. IEEE.  	 
\bibitem[Digiuseppe and Jones ()]{b26}\label{b26} 	 		‘On the influence of multiple faults on coverage-based fault localization’.  		 			N Digiuseppe 		,  		 			J A Jones 		.  	 	 		\textit{Proceedings of the 2011 international symposium on software testing and analysis},  				 (the 2011 international symposium on software testing and analysis)  		2011. ACM.  	 
\bibitem[Perez et al. ()]{b37}\label{b37} 	 		 			A Perez 		,  		 			R Abreu 		,  		 			E Wong 		.  		\textit{A Survey on Fault Localization Techniques. Cited on pages iv and},  				2014. p. 88.  	 
\bibitem[Perez et al. ()]{b60}\label{b60} 	 		‘Prevalence of Single-Fault Fixes and Its Impact on Fault Localization’.  		 			A Perez 		,  		 			R Abreu 		,  		 			M D'amorim 		.  	 	 		\textit{Software Testing, Verification and Validation},  				2017. IEEE.  	 
\bibitem[Zhang et al. ()]{b70}\label{b70} 	 		‘Program behavior characterization and clustering: An empirical study for failure clustering’.  		 			D Zhang 		,  		 			J Jiang 		,  		 			L Chen 		.  	 	 		\textit{Software Reliability Engineering Workshops},  				2013. IEEE.  	 	 (2013 IEEE International Symposium on) 
\bibitem[Sun and Podgurski ()]{b58}\label{b58} 	 		‘Properties of effective metrics for coverage-based statistical fault localization’.  		 			S.-F Sun 		,  		 			A Podgurski 		.  	 	 		\textit{Software Testing, Verification and Validation},  				2016. IEEE.  	 	 (2016 IEEE International Conference on) 
\bibitem[Abreu et al. ()]{b69}\label{b69} 	 		‘Simultaneous debugging of software faults’.  		 			R Abreu 		,  		 			P Zoeteweij 		,  		 			A J Van Gemund 		.  	 	 		\textit{Journal of Systems and Software}  		2011. 84  (4)  p. .  	 
\bibitem[Zakari and Lee ()]{b3}\label{b3} 	 		‘Simultaneous Isolation of Software Faults for Effective Fault Localization’.  		 			A Zakari 		,  		 			S P Lee 		.  	 	 		\textit{2019 IEEE 15th International Colloquium on Signal Processing \& Its Applications (CSPA)},  				2019. IEEE.  	 
\bibitem[Parmar and Patel ()]{b33}\label{b33} 	 		‘Software Fault Localization: A Survey’.  		 			P Parmar 		,  		 			Patel 		.  	 	 		\textit{International Journal of Computer Applications}  		2016. 154  (9) .  	 
\bibitem[Zakari ()]{b40}\label{b40} 	 		‘Software Fault Localization: A Systematic Mapping Study’.  		 			A Zakari 		.  	 	 		\textit{IET Software}  		2018.  	 
\bibitem[Zakaria and Leea ()]{b39}\label{b39} 	 		\textit{Software Fault Localization: Issues and Limitations},  		 			A Zakaria 		,  		 			S P Leea 		.  		2017.  	 
\bibitem[Souza et al. ()]{b38}\label{b38} 	 		 			H A Souza 		,  		 			M L Chaim 		,  		 			F Kon 		.  		 arXiv:1607.04347.  		\textit{Spectrumbased Software Fault Localization: A Survey of Techniques, Advances, and Challenges},  				2016.  	 	 (arXiv preprint) 
\bibitem[Neelofar et al. ()]{b52}\label{b52} 	 		\textit{Spectral-based fault localization using hyperbolic function. Software: Practice and Experience},  		 			N Neelofar 		,  		 			L Naish 		,  		 			K Ramamohanarao 		.  		2018. 48 p. .  	 
\bibitem[Wang ()]{b62}\label{b62} 	 		\textit{Spectrum-Based Fault Localization via Enlarging Non-Fault Region to Improve Fault Absolute Ranking. ACCESS},  		 			Y Wang 		.  		2018. 6 p. .  	 
\bibitem[Zheng ()]{b9}\label{b9} 	 		‘Statistical debugging of sampled programs’.  		 			A X Zheng 		.  	 	 		\textit{Advances in Neural Information Processing Systems},  				2003.  	 
\bibitem[Hennessy ()]{b6}\label{b6} 	 		‘Symbolic debugging of optimized code’.  		 			J Hennessy 		.  	 	 		\textit{ACM Transactions on Programming Languages and Systems}  		1982. TOPLAS. 4  (3)  p. .  	 
\bibitem[Kitchenham ()]{b41}\label{b41} 	 		\textit{Systematic literature reviews in software engineering-a systematic literature review. Information and software technology},  		 			B Kitchenham 		.  		2009. 51 p. .  	 
\bibitem[Fu ()]{b56}\label{b56} 	 		‘Test case prioritization approach to improving the effectiveness of fault localization’.  		 			W Fu 		.  	 	 		\textit{Software Analysis, Testing and Evolution (SATE), International Conference on},  				2016. IEEE.  	 
\bibitem[Wong ()]{b42}\label{b42} 	 		‘The DStar Method for Effective Software Fault Localization’.  		 			W E Wong 		.  	 	 		\textit{Ieee Transactions on Reliability}  		2014. 63  (1)  p. .  	 
\bibitem[Xiaobo et al. ()]{b61}\label{b61} 	 		‘The Failure Behaviors of Multi-Faults Programs: An Empirical Study’.  		 			Y Xiaobo 		,  		 			L Bin 		,  		 			L Jianxing 		.  	 	 		\textit{Software Quality, Reliability and Security Companion},  				2017. IEEE. p. 2017.  	 
\bibitem[Jones et al. ()]{b8}\label{b8} 	 		‘Visualization of test information to assist fault localization’.  		 			J A Jones 		,  		 			M J Harrold 		,  		 			J Stasko 		.  	 	 		\textit{Proceedings -International Conference on Software Engineering},  				 (-International Conference on Software Engineering)  		2002.  	 
\bibitem[Wang ()]{b66}\label{b66} 	 		‘WAS: A weighted attribute-based strategy for cluster test selection’.  		 			Y Wang 		.  	 	 		\textit{Journal of Systems and Software}  		2014. 98 p. .  	 
\end{bibitemlist}
 			 		 	 
\end{document}
