Investigating Fault Localization Techniques from Other Disciplines
for Software Engineering
´
Arp
´
ad Besz
´
edes
Department of Software Engineering, University of Szeged,
´
Arp
´
ad t
´
er 2., H-6720 Szeged, Hungary
Keywords:
Faults, Defects, Fault Localization, Software Fault Localization, Literature Review, Interdisciplinary Aspects.
Abstract:
In many different engineering fields, fault localization means narrowing down the cause of a failure to a small
number of suspicious components of the system. This activity is an important concern in many areas, and there
have been a large number of techniques proposed to aid this activity. Some of the basic ideas used are common
to different fields, but generally quite diverse approaches are applied. Our long-term goal with the presented
research is to identify potential techniques from non-software domains that have not yet been fully leveraged
to software faults, and investigate their applicability and adaptation to our field. We performed an analysis of
related literature, not limiting the search to any specific engineering field, with the aim to find solutions in non-
software areas that could be most successfully adapted to software fault localization. We found out that few
areas have significant literature in the topic that are good candidates for adaptation (computer networks, for
instance), and that although some classes of methods are less suitable, there are useful ideas in almost all fields
that could potentially be reused. As an example of potential novel techniques for software fault localization,
we present three concrete techniques from other fields and how they could potentially be adapted.
1 INTRODUCTION
Failures in complex systems can cause damage to the
environment, people’s health and lives, or the opera-
tion of businesses and governments. Hence, possible
underlying faults in the respective engineering disci-
plines are a high priority concern.
These complex systems may be mechanical, elec-
trical, software-driven, or any combination thereof,
but there is one common subtopic, the central theme
of this article, fault localization. In a very general
sense, fault localization in complex (software and
non-software) systems means identifying components
(parts, modules, software code parts, etc.) of the sys-
tem that are responsible for a specific observed fail-
ure or set of failures. Note, that fault localization is
closely related to the notion of fault detection, the
main difference being that the latter merely shows that
there is a fault somewhere in the system but does not
tell where.
1
Due to the importance of fault localization, a num-
ber of different discipline- and domain-specific so-
lutions have been proposed to aid this process in an
1
In related literature, there is often a confusion about
these terms and their exact meaning might be different ac-
cross various disciplines.
automatic or semi-automatic manner. In some situ-
ations, fault detection and localization are not sepa-
rately handled, but our goal with the present work was
to concentrate on the fault localization aspects only.
In this work, our main concern are software faults.
In particular, our aim is to find out whether there are
techniques used in non-software domains that have
not yet been considered for software faults but could
be adapted to the same. We deal with (semi)automatic
fault localization techniques from various engineering
disciplines, and start with an interdisciplinary analy-
sis of the topic. To this end, we performed a system-
atic literature review with a very specific goal, to dis-
cover their applicability to software fault localization.
We then elaborate on the possible enhancements to
existing techniques or devising novel approaches that
were successful in other disciplines but has not yet
been considered for software.
In any of the mentioned engineering areas, sys-
tems tend to be large and complex, and they are often
connected to each other, forming even more complex
systems-of-systems. Consequently, it may be very
difficult to localize the origin (root cause) of occur-
ring failures. Hence, various fields have developed
approaches to automate the fault localization process.
Naturally, each field deals with its peculiarities and
270
Beszédes, Á.
Investigating Fault Localization Techniques from Other Disciplines for Software Engineering.
DOI: 10.5220/0007928502700277
In Proceedings of the 14th International Conference on Software Technologies (ICSOFT 2019), pages 270-277
ISBN: 978-989-758-379-7
Copyright
c
2019 by SCITEPRESS Science and Technology Publications, Lda. All rights reserved
many of the techniques are domain-dependent, yet we
found out that there are some similarities across disci-
plines. Furthermore, some of the methods are generic
and could be applied, theoretically, to any engineering
field and fault localization problem.
Software fault localization has a large literature
covering many different subtopics; see (Wong et al.,
2016; Parmar and Patel, 2016). However, other ar-
eas, for instance, aerospace or electronics, have much
longer histories and hence might provide ideas for ad-
vancing the software field. Next, a lot of research has
been performed to design effective software fault lo-
calization algorithms and propose their use in differ-
ent phases of the software process, most notably de-
bugging. But, related research suggests that the prac-
tical applicability of research results in this area is still
limited (Kochhar et al., 2016), and further research
is needed to achieve more widespread use of auto-
matic software fault localization by practitioners. We
also noticed that recent results in this area are able to
only marginally improve the effectiveness of previous
techniques because it is increasingly difficult to make
significant and highly novel contributions.
Hence the motivation for the present work; to in-
vestigate other engineering fields and find out if they
employ techniques that could be adapted to software
and thus advance this field. We found that in some
cases there are barriers to the adoption of such tech-
niques due to the fundamental differences in these
(software and non-software) systems. Some of them
arise from the fact that software systems are much
more intangible, but also there are notable differences
in how they are described and handled, e.g., types of
behavioral models used to describe the expected be-
havior of the systems. In other cases, however, the
techniques or some underlying ideas could be suc-
cessfully adapted to software.
In previous work (Besz
´
edes, 2019), we presented
details of an interdisciplinary survey of fault local-
ization techniques to aid software engineering. After
providing the necessary background information and
detailed assessment criteria, we presented the catego-
rization of the identified methods according to several
major fields. Also, a set of possible relationships be-
tween the areas has been presented. In the present
work, we introduce three concrete examples of how
techniques successfully used in other fields could po-
tentially be adapted to software faults. Our aim with
this approach is to illustrate the relevance of this re-
search, but further details and more investigation are
needed to elaborate on the actual implementability of
the methods.
The paper is organized as follows. Section 2 de-
scribes the approach we used for the literature sur-
vey. In Section 3, we present the results of the liter-
ature analysis with our initial evaluation and example
adoptable techniques. Finally, Section 4 concludes.
2 LITERATURE SURVEY
In this section, we briefly overview the process we
followed in reviewing fault localization literature in
various engineering fields.
In the first phase, we identified the most relevant
papers with the help of the google, google scholar,
ResearchGate, Mendeley and Scopus systems. We
used a combination of generic search terms like “fault
localization” and specific keywords that we expected
to be relevant for our search: networks, electron-
ics, engineering, operations, systems, etc. We also
applied different variations and synonyms to these
terms, which included localizing faults, failure diag-
nosis, problem diagnosis, error localization, and sim-
ilar. This way, we were able to identify related works
in many different engineering fields.
We restricted the search results to full-text scien-
tific publications. We aimed at limiting the results
to publications that appeared in peer-reviewed jour-
nals or conferences, however there were few excep-
tions such as doctoral theses and technical reports.
The next filtering we applied was to limit the list
to papers that correspond to some of the following
categories: software-related, generic algorithms, and
methods from loosely related engineering fields. For
example, pure mathematical methods and approaches
in non-related scientific branches like biomedicine,
navigation, linguistics or other, were removed.
In addition to the repository and proceeding
searches, we also performed lightweight snow-
balling (Wohlin, 2014) to mitigate the risk of omit-
ting relevant literature. Finally, we consolidated the
results by organizing the works by specific research
groups or authors and concentrating on a few relevant
reports by the same team.
We then performed an initial classification of the
papers based on what fundamental area they belong
to. We used a simple classification in this respect:
software, networking, other engineering and vari-
ous/generic. There exists a large amount of publi-
cations that deal with fault localization in computer
networks, hence we established a separate category
for this area. The other engineering category includes
all methods that belong to a specific engineering field
other than software or networks. Finally, there are
some approaches that are not limited to any specific
field (although some of them include one or more ex-
ample applications); in this sense, they are generic.
Investigating Fault Localization Techniques from Other Disciplines for Software Engineering
271
We used the same category to denote methods belong-
ing to some other various fields.
Finally, we extended the classification using other
criteria which might be additionally useful to deter-
mine the methods’ usability in the software domain.
These criteria included:
The basic approach on which the method is
based on: machine learning, statistical analysis,
entropy-based, etc.
Single or multiple faults are handled.
Basic type of data the method relies on.
The need for a behavior model.
Other properties of the related studies such as kind
of empirical measurements, size of data sets, and
availability of data or implementation.
Details about these criteria and the analysis outcomes
are omitted from this paper due to space consid-
erations, but all the data are available in previous
work (Besz
´
edes, 2019).
3 ANALYSIS AND PROPOSED
NEW TECHNIQUES
Our initial findings indicate that it is not easy to pin-
point only a few candidate methods, rather many of
them may provide interesting ideas, even if not the
complete method is adapted.
Below, we provide an overview of the most no-
table techniques we identified and their initial evalua-
tion for each of the main fundamental areas. Software
is intentionally omitted from this list, as we wanted to
find approaches not yet existing in our field. For each
of the three relevant categories (Networking, Other
Engineering and Generic Methods), we propose spe-
cific new software fault localization methods based on
the related approaches. These can serve as examples
of interdisciplinary application of a technique, but this
does not necessarily mean that we cannot benefit from
other, less directly related methods.
3.1 Networking
The main representative literature we identified in the
networking category are: (Steinder and Sethi, 2004c),
(Alekseev and Sayenko, 2014), (Yu et al., 2010),
(Brodie et al., 2002), (Brodie et al., 2003), (Chao
et al., 1999), (Chen et al., 2004), (Cheng et al., 2010),
(Deng et al., 1993), (Fecko and Steinder, 2001), (Lu
et al., 2013a), (Hood and Ji, 1997), (Kant et al.,
2002), (Kant et al., 2004), (Katzela and Schwartz,
1995), (Kompella et al., 2005), (Lu et al., 2013b),
(Mohamed, 2017), (Natu and Sethi, 2005), (Natu
and Sethi, 2006), (Natu and Sethi, 2007a), (Natu
and Sethi, 2007b), (Rish et al., 2004), (Tang et al.,
2005), (Traczyk, 2004), (Wang et al., 2012), (Zhang
et al., 2011), (Boubour et al., 1997), (Aghasaryan
et al., 1997), (Aghasaryan et al., 1998), (Steinder
and Sethi, 2004a), (Steinder and Sethi, 2004b), (Ben-
Haim, 1980).
A common element of network fault localization
is the use of probabilistic approaches (such as condi-
tional probabilities and Bayes networks) (Chao et al.,
1999; Tang et al., 2005; Steinder and Sethi, 2004b),
and machine learning (Chen et al., 2004; Deng et al.,
1993; Hood and Ji, 1997), which could probably be
adapted to software faults.
The probing method in computer networks,
e. g. (Steinder and Sethi, 2004c), is an almost direct
analogy to software fault localization (a probe is a
program that executes on a particular network node
and sends commands or transactions to the other ele-
ments of the network, and the responses are observed
and their various properties are measured). A net-
work node may correspond to a software component,
a probe can be seen as a test case, and the responses
from the network can be identified as the dynamic be-
havior of the system by executing the test cases.
In this case, the Spectrum-Based Fault Localiza-
tion class of methods (Abreu et al., 2009a; Parmar and
Patel, 2016; Wong et al., 2016) could be naturally ex-
tended using results from networking. Here, the basis
of the algorithms is the so-called program spectrum,
which in its basic form is essentially a binary matrix
consisting of the test cases in its rows and the program
elements in the columns. A 1 in a matrix element rep-
resents that the test case executes the corresponding
code element. Then, based on the test case outcomes,
various statistics are computed for each program el-
ement about the number of failing and passing test
case executions traversing it, and the most suspicious
code elements are reported to the user (many failing
test cases and few passing ones make a code element
more suspicious).
Approaches by Yu et al. (Yu et al., 2010), Brodie
et al. (Brodie et al., 2002; Brodie et al., 2003), Cheng
et al. (Cheng et al., 2010), Natu et al. (Natu and Sethi,
2005; Natu and Sethi, 2006; Natu and Sethi, 2007a;
Natu and Sethi, 2007b) provide various optimizations
to the basic probing approaches, which are good can-
didates for adaptation to (spectrum-based) software
fault localization.
In particular, the following can be an optimized
approach to fault localization based on the results
from publications in the networking field. These steps
could be for optimal test suite construction (here, a
ICSOFT 2019 - 14th International Conference on Software Technologies
272
test case corresponds to a probe in networking):
1. Start from an initial test case set, e. g., optimizing
for high code coverage.
2. Determining the diagnosis ability of this set.
This can be based on some property using en-
tropy or some other measurement. Similar results
are already available in software fault localiza-
tion (Perez et al., 2017; Perez and Abreu, 2018).
3. Finding the minimal set of test cases, based on
some heuristics such as greedy search.
Based on the mentioned works, the program spec-
tra (coverage matrix) can be extended to a Bayesian
network that encodes probabilistic dependencies be-
tween the possible faults (causes) and the test out-
comes (symptoms) (Brodie et al., 2002).
3.2 Other Engineering Fields
We identified the engineering fields of aerospace and
(power) electronics that could potentially be the most
useful for our purposes, along with a few additional
techniques from specific disciplines like oil pipelines
and chemistry. For these fields, our main findigs are:
aerospace (Adamovits and Pagurek, 1993; Balaban
et al., 2007; W. Dries, 1990), power electronics (Ben-
bouzid et al., 1999; Beschta et al., 1993; Poon,
2015; Tanwani et al., 2011), electronics (Peischl and
Wotawa, 2006), oil pipelines (Digernes, 1980), and
chemistry (Venkatasubramanian et al., 1990).
The most promising novel approach to software
fault localization is to use behavioral software mod-
els against which the actual behavior could be com-
pared to. A behavioral model essentially describes
the expected functionality of the system which might
be expressed using various formalisms, either graphi-
cal or textual. This area is often refferred to as Model-
Based Diagnosis. This concept has not yet been inves-
tigated in depth for our field. The closest approach is
Abreu et al.s work on using Bayesian framework for
software fault localization (Abreu et al., 2009b), how-
ever this technique does not incorporate other compo-
nents of model-based diagnosis overviewed below.
In the aerospace industry, the use of model based
reasoning, a branch of artificial intelligence, is fre-
quent (Adamovits and Pagurek, 1993; Balaban et al.,
2007; W. Dries, 1990). In power electronics (Poon,
2015; Benbouzid et al., 1999; Beschta et al., 1993),
the methods also frequently utilize various models de-
scribing the system. Although somewhat different,
but some approaches to fault localization in electronic
circuits are using behavioral models combined with
simulation. In addition, in some cases the descrip-
tion of the hardware is done in a similar way to soft-
ware source code (Peischl and Wotawa, 2006), which
makes it possibly more easier to adapt to our field.
Other areas we investigated often use simulation and
probabilistic approaches as well (Digernes, 1980), or
machine learning with neural networks (Venkatasub-
ramanian et al., 1990), and in these cases a model of
the system is required as well. Often, advanced con-
cepts are applied in these areas such as Kalman filters
to increase the accuracy of fault estimates.
A model-based approach to fault localization in
software requires reliable behavioral models that de-
scribe the expected behavior. This is then compared
to the observed data from system under examination.
Models are in some cases already available; espe-
cially, in the case of critical systems. Here, system-
atic and rigorous requirement elicitation, fault mode
and effect analysis, and test design is done. Mod-
els and their languages depend on the domain and
the modeling approach used. Although the reason-
ing components of the system may also include ex-
perimental knowledge, the model can largely be seen
as a black box, which encodes the required behavior
and is determined during early software engineering
phases. For successful model-based diagnosis, mod-
els need to be accurate and independent of the reason-
ing structure. Completeness is also important, but the
faulty behaviour is generally little-known. Models are
often encoded in the form of a simulation.
Once the model is available, model-based ap-
proach to fault localization in software would follow
the usual approach in model-based diagnosis: given
observations of the system, the system is simulated
using the model, and the observations actually made
are compared to the observations predicted by the
simulation. The following specific subtasks would
be required in general: data acquisition (producing
dynamic operational data from program executions,
which can be performed using existing approaches
such as profiling, logging and instrumentation), fault
detection (performing the tests and comparison to the
model), hypothesis generation and pruning (produc-
ing and analyzing “infection chains” (Zeller, 2005)
from defects to the symptoms), and hypothesis vali-
dation (through formal model analysis or simulation).
3.3 Generic Methods
In the generic category, we identified the follow-
ing main techniques: (Isermann, 1984), (Massoum-
nia et al., 1986), (Sv
¨
ard, 2012), (Varga, 2003),
(Lerner and Parr, 2000), (Olivier-Maget et al., 2009),
(Shchekotykhin et al., 2016), (Mehra and Peschon,
1971), (Bouloutas et al., 1993), (Frank, 1996), (Tidriri
et al., 2016), (de Kleer, 2009), (de Kleer and
Investigating Fault Localization Techniques from Other Disciplines for Software Engineering
273
Williams, 1987).
It is worthwhile to note that some techniques we
listed here (e.g. Kleer et al. (de Kleer, 2009; de Kleer
and Williams, 1987)) have their main application in
the mentioned fields from previous sections such as
electronic circuits and computer networks, and are
based on techniques such as entropy minimization
and probabilistic approach. In particular, Bayesian
framework is the basis for Kleer et al.s technique,
which has also been reused for software (Abreu et al.,
2009b).
Model-Based Diagnosis, mentioned in the previ-
ous section, aims at finding the fault of an observed
system based on the knowledge about the system’s ex-
pected behavior, which can be discussed in a generic,
domain-independent manner (Shchekotykhin et al.,
2016; Frank, 1996; de Kleer, 2009; de Kleer and
Williams, 1987). Many of these model the system
as a process, and hence process analysis approaches
are used from control theory (Isermann, 1984; Mas-
soumnia et al., 1986; Sv
¨
ard, 2012; Venkatasubrama-
nian et al., 1990; Mehra and Peschon, 1971).
For software fault localization, we propose to fur-
ther investigate the combination of model based ap-
proaches with data driven methods (which process a
large amount of data from the system’s output and are
based on training data for a correctly working sys-
tem). Tidridi et al. (Tidriri et al., 2016) present an
overview of the approach. We believe this could be a
promising way because a reliable and complete model
is often not available for software, but the operational
data from software executions is easily obtainable,
e. g. from logs. Tidridi et al. also refer other related
works in this area, which can be useful sources for
more information about this set of techniques.
In particular, in a data driven approach, a large
amount of operational data (from logs, etc) are col-
lected in which the fault is first detected (whether the
system behavior matches the expected one) and then
classified (determining the type of the fault). Typical
classification types are supervised approaches based
on manually prepared training data (e. g., using Neu-
ral Networks), and unsupervised methods such as var-
ious statistical techniques like Principal Component
Analysis. These techniques can help model-based di-
agnosis is various ways, because in practice it is very
difficult to develop accurate mathematical models for
large and complex software systems. For example,
the primary form of behavior differences to be ob-
served by a model-based approach (see the previous
section) can be generated and learned from a large
amount of dynamic operational data.
4 CONCLUSIONS
The purpose of the presented work was to demon-
strate that there is a lot of potential in interdisciplinary
application of fault localization techniques from sev-
eral different engineering fields to software faults.
We performed a literature review involving various
fields, computer networks, aerospace, (power) elec-
tronics, etc., and found that although in many cases
the too large differences in the domains permit the
techniques’ application to our field, there are several
ideas that could be leveraged for software.
Preliminary results presented in preceding sec-
tions could provide a starting point for additional
analysis of the techniques, and the selection of the
most promising approaches for further consideration.
We also present three concrete approaches and how
they could be adapted to software fault localization.
Although we performed the literature analysis in a
systematic way, we cannot claim its completeness. In-
deed, we did not dive into the details of any particular
subfield or set of techniques. Instead, we concentrated
on locating the most important approaches from vari-
ous fields. Nevertheless, we believe that the survey in
its present state is suitable for us to start designing in
detail novel approaches to software fault localization,
and for other readers to obtain a wider view of this
important and diverse topic.
As future work, we will continue searching for
other related techniques, extend the assessment with
additional aspects and evaluate the most promising
approaches in more detail. We will eventually start
implementing the new techniques for software fault
localization and compare their performance to other,
already established techniques in this field.
Detailed assessment data of the literature survey
are available from the author.
ACKNOWLEDGEMENTS
´
Arp
´
ad Besz
´
edes was supported by the J
´
anos Bolyai
Research Scholarship of the Hungarian Academy of
Sciences. The author would like to thank the sup-
porting work of Ott
´
o E
¨
otv
¨
os and Br
´
un
´
o Ilovai who
were supported by project EFOP-3.6.3-VEKOP-16-
2017-0002, co-funded by the European Social Fund.
Ministry of Human Capacities, Hungary grant 20391-
3/2018/FEKUSTRAT is acknowledged.
ICSOFT 2019 - 14th International Conference on Software Technologies
274
REFERENCES
Abreu, R., Zoeteweij, P., and v. Gemund, A. J. C. (2009a).
Spectrum-based multiple fault localization. In 2009
IEEE/ACM International Conference on Automated
Software Engineering, pages 88–99.
Abreu, R., Zoeteweij, P., and Van Gemund, A. J. C. (2009b).
A new bayesian approach to multiple intermittent fault
diagnosis. In Proceedings of the 21st International
Jont Conference on Artifical Intelligence, IJCAI’09,
pages 653–658.
Adamovits, P. J. and Pagurek, B. (1993). Simulation
(model) based fault detection and diagnosis of a
spacecraft electrical power system. In Proceedings of
9th IEEE Conference on Artificial Intelligence for Ap-
plications, pages 422–428.
Aghasaryan, A., Fabre, E., Benveniste, A., Boubour, R., and
Jard, C. (1997). A petri net approach to fault detec-
tion and diagnosis in distributed systems. ii. extending
viterbi algorithm and hmm techniques to petri nets. In
Proceedings of the 36th IEEE Conference on Decision
and Control, volume 1, pages 726–731 vol.1.
Aghasaryan, A., Fabre, E., Benveniste, A., Boubour, R., and
Jard, C. (1998). Fault detection and diagnosis in dis-
tributed systems: An approach by partially stochastic
petri nets. Discrete Event Dynamic Systems, 8(2):203–
231.
Alekseev, D. and Sayenko, V. (2014). Proactive fault detec-
tion in computer networks. In 2014 First International
Scientific-Practical Conference Problems of Infocom-
munications Science and Technology, pages 90–91.
Balaban, E., Narasimhan, S., Cannon, H. N., and Brown-
ston, L. S. (2007). Model-based fault detection and
diagnosis system for nasa mars subsurface drill pro-
totype. In 2007 IEEE Aerospace Conference, pages
1–13.
Ben-Haim, Y. (1980). An algorithm for failure location in a
complex network. Nuclear Science and Engineering,
75(2):191–199.
Benbouzid, M. E. H., Vieira, M., and Theys, C. (1999). In-
duction motors’ faults detection and localization using
stator current advanced signal processing techniques.
IEEE Transactions on Power Electronics, 14(1):14–
22.
Beschta, A., Dressler, O., Freitag, H., Montag, M., and
Struss, P. (1993). Model-based approach to fault lo-
calization in power transmission networks. Intelligent
Systems Engineering, 2:3 – 14.
Besz
´
edes,
´
A. (2019). Interdisciplinary survey of fault local-
ization techniques to aid software engineering. Acta
Polytechnica Hungarica, 16(3):207–226.
Boubour, R., Jard, C., Aghasaryan, A., Fabre, E., and Ben-
veniste, A. (1997). A petri net approach to fault de-
tection and diagnosis in distributed systems. i. applica-
tion to telecommunication networks, motivations, and
modelling. In Proceedings of the 36th IEEE Confer-
ence on Decision and Control, volume 1, pages 720–
725 vol.1.
Bouloutas, A. T., Hart, G. W., and Schwartz, M. (1993).
Fault identification using a finite state machine model
with unreliable partially observed data sequences.
IEEE Transactions on Communications, 41(7):1074–
1083.
Brodie, M., Rish, I., and Ma, S. (2002). Intelligent probing:
A cost-effective approach to fault diagnosis in com-
puter networks. IBM Systems Journal, 41(3):372–385.
Brodie, M., Rish, I., Ma, S., and Odintsova, N. (2003). Ac-
tive probing strategies for problem diagnosis in dis-
tributed systems. In Proceedings of the 18th Interna-
tional Joint Conference on Artificial Intelligence, IJ-
CAI’03, pages 1337–1338, San Francisco, CA, USA.
Morgan Kaufmann Publishers Inc.
Chao, C. S., Yang, D. L., and Liu, A. C. (1999). An
automated fault diagnosis system using hierarchical
reasoning and alarm correlation. In Proceedings
1999 IEEE Workshop on Internet Applications (Cat.
No.PR00197), pages 120–127.
Chen, M., Zheng, A. X., Lloyd, J., Jordan, M. I., and
Brewer, E. (2004). Failure diagnosis using decision
trees. In Proceedings of the International Conference
on Autonomic Computing, pages 36–43.
Cheng, L., Qiu, X., Meng, L., Qiao, Y., and Boutaba, R.
(2010). Efficient active probing for fault diagnosis in
large scale and noisy networks. In 2010 Proceedings
IEEE INFOCOM, pages 1–9.
de Kleer, J. (2009). Diagnosing multiple persistent and in-
termittent faults. In Proceedings of the Twenty-First
International Joint Conference on Artificial Intelli-
gence (IJCAI 2009), pages 733–738.
de Kleer, J. and Williams, B. C. (1987). Diagnosing multi-
ple faults. Artificial Intelligence, 32(1):97 – 130.
Deng, R. H., Lazar, A. A., and Wang, W. (1993). A proba-
bilistic approach to fault diagnosis in linear lightwave
networks. IEEE Journal on Selected Areas in Com-
munications, 11(9):1438–1448.
Digernes, T. (1980). Real-Time Failure-Detection and
Identification Applied to Supervision of Oil Transport
in Pipelines. Modeling, Identification and Control,
1(1):39–49.
Fecko, M. A. and Steinder, M. (2001). Combinatorial de-
signs in multiple faults localization for battlefield net-
works. In 2001 MILCOM Proceedings Communica-
tions for Network-Centric Operations: Creating the
Information Force (Cat. No.01CH37277), volume 2,
pages 938–942 vol.2.
Frank, P. (1996). Analytical and qualitative model-based
fault diagnosis : A survey and some new results. Eu-
ropean Journal of Control, 2(1):6 – 28.
Hood, C. S. and Ji, C. (1997). Proactive network-fault de-
tection. IEEE Transactions on Reliability, 46(3):333–
341.
Isermann, R. (1984). Process fault detection based on mod-
eling and estimation methods: A survey. Automatica,
20(4):387 – 404.
Kant, L., Chen, W., Lee, C.-W., Sethi, A., Natu, M., Luo,
L., and Shen, C. (2004). D-flash : Dynamic fault lo-
calization and self-healing for battlefield networks. In
Applied Soft Computing - ASC, pages 1–2.
Kant, L. A., Sethi, A. S., and Steinder, M. (2002). Fault
localization and self-healing mechanisms for fcs net-
Investigating Fault Localization Techniques from Other Disciplines for Software Engineering
275
works. In Proceedings of the 23rd Army Science Con-
ference, pages 1–8.
Katzela, I. and Schwartz, M. (1995). Schemes
for fault identification in communication networks.
IEEE/ACM Trans. Netw., 3(6):753–764.
Kochhar, P. S., Xia, X., Lo, D., and Li, S. (2016). Practi-
tioners’ expectations on automated fault localization.
In Proceedings of the 25th International Symposium
on Software Testing and Analysis - ISSTA 2016, pages
165–176, New York, New York, USA. ACM Press.
Kompella, R. R., Yates, J., Greenberg, A., and Snoeren,
A. C. (2005). Ip fault localization via risk model-
ing. In Proceedings of the 2Nd Conference on Sym-
posium on Networked Systems Design & Implemen-
tation - Volume 2, NSDI’05, pages 57–70, Berkeley,
CA, USA. USENIX Association.
Lerner, U. and Parr, R. (2000). Bayesian fault detection
and diagnosis in dynamic systems. In In Proc. AAAI,
pages 531–537.
Lu, L., Xu, Z., Wang, W., and Sun, Y. (2013a). A new fault
detection method for computer networks. Reliability
Engineering & System Safety, 114:45–51.
Lu, L., Xu, Z., Wang, W., and Sun, Y. (2013b). A new fault
detection method for computer networks. Reliability
Engineering & System Safety, 114(Supplement C):45
– 51.
Massoumnia, M.-A., Verghese, G. C., and Willsky, A. S.
(1986). Failure detection and identification in lin-
ear time-invariant systems. Technical Report LIDS-P-
1578, MASSACHUSETTS INSTITUTE OF TECH-
NOLOGY.
Mehra, R. and Peschon, J. (1971). An innovations approach
to fault detection and diagnosis in dynamic systems.
Automatica, 7(5):637 – 640.
Mohamed, A. (2017). Fault Detection and Identification
in Computer Networks: A Soft Computing Approach.
PhD thesis, UWSpace.
Natu, M. and Sethi, A. S. (2005). Adaptive fault localization
in mobile ad hoc battlefield networks. In MILCOM
2005 - 2005 IEEE Military Communications Confer-
ence, pages 814–820 Vol. 2.
Natu, M. and Sethi, A. S. (2006). Active probing approach
for fault localization in computer networks. In 2006
4th IEEE/IFIP Workshop on End-to-End Monitoring
Techniques and Services, pages 25–33.
Natu, M. and Sethi, A. S. (2007a). Efficient probing tech-
niques for fault diagnosis. In Second International
Conference on Internet Monitoring and Protection
(ICIMP 2007), pages 20–20.
Natu, M. and Sethi, A. S. (2007b). Probabilistic fault
diagnosis using adaptive probing. In Clemm, A.,
Granville, L. Z., and Stadler, R., editors, Managing
Virtualization of Networks and Services, pages 38–49,
Berlin, Heidelberg. Springer Berlin Heidelberg.
Olivier-Maget, N., Negny, S., H
´
etreux, G., and Lann, J.-
M. L. (2009). Fault diagnosis and process monitor-
ing through model-based and case based reasoning.
Computer Aided Chemical Engineering, 26(Supple-
ment C):345 – 350.
Parmar, P. and Patel, M. (2016). Software fault localization:
A survey. International Journal of Computer Applica-
tions, 154(9):6–13.
Peischl, B. and Wotawa, F. (2006). Automated source-level
error localization in hardware designs. IEEE Design
Test of Computers, 23(1):8–19.
Perez, A. and Abreu, R. (2018). Leveraging qualitative rea-
soning to improve sfl. In Proceedings of the Twenty-
Seventh International Joint Conference on Artificial
Intelligence, IJCAI-18, pages 1935–1941. Interna-
tional Joint Conferences on Artificial Intelligence Or-
ganization.
Perez, A., Abreu, R., and van Deursen, A. (2017). A test-
suite diagnosability metric for spectrum-based fault
localization approaches. In Proceedings of the 39th
International Conference on Software Engineering,
ICSE ’17, pages 654–664.
Poon, J. (2015). Model-based fault detection and identifi-
cation for power electronics systems. Master’s thesis,
EECS Department, University of California, Berkeley.
Rish, I., Brodie, M., Odintsova, N., Ma, S., and Grabarnik,
G. (2004). Real-time problem determination in dis-
tributed systems using active probing. In 2004
IEEE/IFIP Network Operations and Management
Symposium (IEEE Cat. No.04CH37507), volume 1,
pages 133–146 Vol.1.
Shchekotykhin, K., Schmitz, T., and Jannach, D. (2016).
Efficient sequential model-based fault-localization
with partial diagnoses. In Proceedings of the Twenty-
Fifth International Joint Conference on Artificial In-
telligence, IJCAI’16, pages 1251–1257. AAAI Press.
Steinder, M. and Sethi, A. (2004a). Probabilistic fault diag-
nosis in communication systems through incremental
hypothesis updating. Computer Networks, 45(4):537
– 562.
Steinder, M. and Sethi, A. S. (2004b). Probabilistic fault
localization in communication systems using belief
networks. IEEE/ACM Transactions on Networking,
12(5):809–822.
Steinder, M. and Sethi, A. S. (2004c). A survey of fault
localization techniques in computer networks. Science
of Computer Programming, 53(2):165 – 194.
Sv
¨
ard, C. (2012). Methods for Automated Design of Fault
Detection and Isolation Systems with Automotive Ap-
plications. PhD thesis, Link
¨
oping University, Depart-
ment of Electrical Engineering, Vehicular Systems.
Tang, Y., Al-Shaer, E. S., and Boutaba, R. (2005). Active
integrated fault localization in communication net-
works. In 2005 9th IFIP/IEEE International Sympo-
sium on Integrated Network Management, 2005. IM
2005., pages 543–556. IEEE.
Tanwani, A., Dominguez-Garcia, A. D., and Liberzon, D.
(2011). An inversion-based approach to fault detec-
tion and isolation in switching electrical networks.
IEEE Transactions on Control Systems Technology,
19(5):1059–1074.
Tidriri, K., Chatti, N., Verron, S., and Tiplica, T. (2016).
Bridging data-driven and model-based approaches for
process fault diagnosis and health monitoring: A re-
ICSOFT 2019 - 14th International Conference on Software Technologies
276
view of researches and future challenges. Annual Re-
views in Control, 42:63 – 81.
Traczyk, W. (2004). Probes for fault localization in com-
puter networks. Journal of Telecommunications and
Information Technology, nr 3:23–27.
Varga, A. (2003). On computing least order fault detec-
tors using rational nullspace bases. IFAC Proceedings
Volumes, 36(5):227 232. 5th IFAC Symposium on
Fault Detection, Supervision and Safety of Technical
Processes 2003, Washington DC, 9-11 June 1997.
Venkatasubramanian, V., Vaidyanathan, R., and Yamamoto,
Y. (1990). Process fault detection and diagnosis using
neural networks. i. steady-state processes. Computers
& Chemical Engineering, 14(7):699 – 712.
W. Dries, R. (1990). Model-based reasoning in the detection
of satellite anomalies. Master’s thesis, AIR FORCE
INSTITUTE OF TECHNOLOGY.
Wang, B., Wei, W., Dinh, H., Zeng, W., and Pattipati, K. R.
(2012). Fault localization using passive end-to-end
measurements and sequential testing for wireless sen-
sor networks. IEEE Transactions on Mobile Comput-
ing, 11(3):439–452.
Wohlin, C. (2014). Guidelines for snowballing in system-
atic literature studies and a replication in software en-
gineering. In Proc. of Evaluation and Assessment in
Software Engineering (EASE).
Wong, W. E., Gao, R., Li, Y., Abreu, R., and Wotawa, F.
(2016). A survey on software fault localization. IEEE
Trans. Softw. Eng., 42(8):707–740.
Yu, L., Qiu, X., Qiao, Y., Chen, X., and Liu, Y. (2010).
Optimizing probe selection algorithms for fault local-
ization. In 2010 3rd IEEE International Conference
on Broadband Network and Multimedia Technology
(IC-BNMT), pages 200–204.
Zeller, A. (2005). Why Programs Fail: A Guide to System-
atic Debugging. Morgan Kaufmann Publishers Inc.,
San Francisco, CA, USA.
Zhang, X., Zhou, Z., Hasker, G., Perrig, A., and Gligor, V.
(2011). Network fault localization with small tcb. In
2011 19th IEEE International Conference on Network
Protocols, pages 143–154.
Investigating Fault Localization Techniques from Other Disciplines for Software Engineering
277