Fault Localization

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 9030 Experts worldwide ranked by ideXlab platform

Hussein T. Mouftah - One of the best experts on this subject based on the ideXlab platform.

  • Optimization for Fault Localization in All-Optical Networks
    Journal of Lightwave Technology, 2009
    Co-Authors: Mazen G. Khair, Burak Kantarci, Jun Zheng, Hussein T. Mouftah
    Abstract:

    Fault Localization is a critical issue in all-optical networks. The limited-perimeter vector matching (LVM) protocol is a novel Fault-Localization protocol proposed for localizing single-link failures in all-optical networks. In this paper, we study the optimization problems in applying the LVM protocol in static all- optical networks. We consider two optimization problems: one is to optimize the traffic distribution so that the Fault-Localization probability in terms of the number of localized links is maximized, and the other is to optimize the traffic distribution so that the time for localizing a failed link is minimized. We formulate the two problems into an integer linear programming problem, respectively, and use the CPLEX optimization tool to solve the formulated problems. We show that by optimizing the traffic distribution the Fault-Localization probability can be maximized and the Fault-Localization time can be minimized. Moreover, a heuristic algorithm is proposed to evaluate the optimization results through simulation experiments.

  • Connection provisioning constrained to Fault Localization in all-optical networks
    2008 23rd International Symposium on Computer and Information Sciences, 2008
    Co-Authors: Mazen G. Khair, Burak Kantarci, Hussein T. Mouftah
    Abstract:

    Fault Localization is becoming a critical issue in all-optical networks. The Limited Perimeter Vector Matching (LVM) protocol is a novel Fault Localization protocol for localizing single-link failures in all-optical networks. In this paper, we study the Fault Localization optimization problem by applying the LVM protocol where the traffic demands (or lightpath requests) are known a priori. Given the traffic demands, the Fault Localization optimization problem aims to optimize the traffic distribution so that the Fault Localization probability in terms of the number of localized links can be maximized. Moreover, the solution to the problem can also provide the maximum number of wavelengths needed on each link to obtain the maximum Fault Localization probability.

  • BROADNETS - Performance optimization for Fault Localization in all-optical networks
    2008 5th International Conference on Broadband Communications Networks and Systems, 2008
    Co-Authors: Mazen G. Khair, Burak Kantarci, Jun Zheng, Hussein T. Mouftah
    Abstract:

    Fault Localization is an important issue in all-optical networks. The Limited Perimeter Vector Matching (LVM) protocol is a novel Fault Localization protocol for localizing single-link failures in all-optical networks. In this paper, we study the Fault Localization optimization problem in applying the LVM protocol to static networks, where traffic (or lightpath) demand is known a priori. Given the traffic demand, the Fault Localization optimization problem is to optimize the traffic distribution so that the Fault Localization probability in terms of the number of localized links can be maximized. We formulate the problem into an integer linear programming problem and use CPLEX to solve the problem. We show through numerical results that by optimizing the traffic distribution the Fault Localization probability in terms of the number of localized links can be maximized. Moreover, the solution to the problem can also provide the maximum number of wavelengths needed on each link to obtain the maximum Fault Localization probability.

Zhenyu Zhang - One of the best experts on this subject based on the ideXlab platform.

  • COUFLESS@ICSE - FLAVS: a Fault Localization add-in for visual studio
    2015 IEEE ACM 1st International Workshop on Complex Faults and Failures in Large Software Systems (COUFLESS), 2015
    Co-Authors: Nan Wang, Zhenyu Zhang, Zheng Zheng, Cheng Chen
    Abstract:

    Dynamic Fault Localization is a representative concept and product proposed by academia to alleviate software engineering pains, but it is rarely heard adopted or used in realistic development. Realizing the difficulties in transferring the approaches of dynamic Fault Localization to practical tools, this paper gives our work FLAVS, whose add-in implementation organically and seamlessly integrates the approach of dynamic Fault Localization with software IDEs. The tool is useful for developers using Microsoft Visual Studio platform to debug and test programs with complex bugs. Besides, it is also valuable for researchers to design new Fault Localization methods and draw performance comparison among different method candidates.

  • InnoSWDev@SIGSOFT FSE - Program structure aware Fault Localization
    Proceedings of the International Workshop on Innovative Software Development Methodologies and Practices, 2014
    Co-Authors: Yuzhen Liu, Zhenyu Zhang, Jian Liu
    Abstract:

    Software testing is always an effective method to show the presence of bugs in programs, while debugging is never an easy task to remove a bug from a program. To facilitate the debugging task, statistical Fault Localization estimates the location of Faults in programs automatically by analyzing the program executions to narrow down the suspicious region. We observe that program structure has strong impacts on the assessed suspiciousness of program elements. However, existing techniques inadequately pay attention to this problem. In this paper, we emphasize the biases caused by program structure in Fault Localization, and propose a method to address them. Our method is dedicated to boost a Fault Localization technique by adapting it to various program structures, in a software development process. It collects the suspiciousness of program elements when locating historical Faults, statistically captures the biases caused by program structure, and removes such an impact factor from a Fault Localization result. An empirical study using the Siemens test suite shows that our method can greatly improve the effectiveness of the most representative Fault Localization Tarantula.

  • BPELDebugger: An effective BPEL-specific Fault Localization framework
    Information and Software Technology, 2013
    Co-Authors: Chang-ai Sun, Yi Meng Zhai, Yan Shang, Zhenyu Zhang
    Abstract:

    Context: Business Process Execution Language (BPEL) is a widely recognized executable service composition language, which is significantly different from typical programming languages in both syntax and semantics, and especially shorter in program scale. How to effectively locate Faults in BPEL programs is an open and challenging problem. Objective: In this paper, we propose a Fault Localization framework for BPEL programs. Method: Based on BPEL program characteristics, we propose two Fault Localization guidelines to locate the integration and interaction Faults in BPEL programs. Our framework formulates the BPEL Fault Localization problem using the popular Fault Localization problem settings, and synthesizes BPEL-specific Fault Localization techniques by reuse of existing Fault Localization formulas. We use two realistic BPEL programs and three existing Fault Localization formulas to evaluate the feasibility and effectiveness of the proposed Fault Localization framework and guidelines. Result: Experiment results show that Faults can be located with the fewest code examining efforts. That is, the Fault-relevant basic block is assigned the highest suspiciousness score by our Fault Localization method. The experiment results also show that with the use of the proposed Fault Localization guidelines, the code examining efforts to locate Faults are extraordinarily reduced. Conclusion: We conclude that the proposed framework is feasible in synthesizing effective Fault Localization techniques, and our Fault Localization guidelines are very effective to enhance existing Fault Localization techniques in locating Faults in BPEL programs.

  • Non-parametric statistical Fault Localization
    Journal of Systems and Software, 2011
    Co-Authors: Zhenyu Zhang, W. K. Chan, T. H. Tse
    Abstract:

    Abstract: Fault Localization is a major activity in program debugging. To automate this time-consuming task, many existing Fault-Localization techniques compare passed executions and failed executions, and suggest suspicious program elements, such as predicates or statements, to facilitate the identification of Faults. To do that, these techniques propose statistical models and use hypothesis testing methods to test the similarity or dissimilarity of proposed program features between passed and failed executions. Furthermore, when applying their models, these techniques presume that the feature spectra come from populations with specific distributions. The accuracy of using a model to describe feature spectra is related to and may be affected by the underlying distribution of the feature spectra, and the use of a (sound) model on inapplicable circumstances to describe real-life feature spectra may lower the effectiveness of these Fault-Localization techniques. In this paper, we make use of hypothesis testing methods as the core concept in developing a predicate-based Fault-Localization framework. We report a controlled experiment to compare, within our framework, the efficacy, scalability, and efficiency of applying three categories of hypothesis testing methods, namely, standard non-parametric hypothesis testing methods, standard parametric hypothesis testing methods, and debugging-specific parametric testing methods. We also conduct a case study to compare the effectiveness of the winner of these three categories with the effectiveness of 33 existing statement-level Fault-Localization techniques. The experimental results show that the use of non-parametric hypothesis testing methods in our proposed predicate-based Fault-Localization model is the most promising.

  • how well do test case prioritization techniques support statistical Fault Localization
    Computer Software and Applications Conference, 2009
    Co-Authors: Bo Jiang, Zhenyu Zhang, T. H. Tse, Tsong Yueh Chen
    Abstract:

    In continuous integration, a tight integration of test case prioritization techniques and Fault-Localization techniques may both expose failures faster and locate Faults more effectively. Statistical Fault-Localization techniques use the execution information collected during testing to locate Faults. Executing a small fraction of a prioritized test suite reduces the cost of testing, and yet the subsequent Fault Localization may suffer. This paper presents the first empirical study to examine the impact of test case prioritization on the effectiveness of Fault Localization. Among many interesting empirical results, we find that coverage-based and random techniques can be more effective than distribution-based techniques in supporting statistical Fault Localization.

Wangchengsong - One of the best experts on this subject based on the ideXlab platform.

  • Slice-based statistical Fault Localization
    Journal of Systems and Software, 2014
    Co-Authors: Maoxiaoguang, Leiyan, Daiziying, Qiyuhua, Wangchengsong
    Abstract:

    HighlightsWe propose a novel slice-based statistical Fault Localization approach to improve Fault Localization effectiveness.We present an approximate dynamic backward slicing approach to balance t...

Rui Abreu - One of the best experts on this subject based on the ideXlab platform.

  • evaluating and improving Fault Localization
    International Conference on Software Engineering, 2017
    Co-Authors: Spencer Pearson, Jose Campos, Rene Just, Gordon Fraser, Rui Abreu, Michael D Ernst, Deric Pang, Benjamin J Keller
    Abstract:

    Most Fault Localization techniques take as input a Faulty program, and produce as output a ranked list of suspicious code locations at which the program may be defective. When researchers propose a new Fault Localization technique, they typically evaluate it on programs with known Faults. The technique is scored based on where in its output list the defective code appears. This enables the comparison of multiple Fault Localization techniques to determine which one is better. Previous research has evaluated Fault Localization techniques using artificial Faults, generated either by mutation tools or manually. In other words, previous research has determined which Fault Localization techniques are best at finding artificial Faults. However, it is not known which Fault Localization techniques are best at finding real Faults. It is not obvious that the answer is the same, given previous work showing that artificial Faults have both similarities to and differences from real Faults. We performed a replication study to evaluate 10 claims in the literature that compared Fault Localization techniques (from the spectrum-based and mutation-based families). We used 2995 artificial Faults in 6 real-world programs. Our results support 7 of the previous claims as statistically significant, but only 3 as having non-negligible effect sizes. Then, we evaluated the same 10 claims, using 310 real Faults from the 6 programs. Every previous result was refuted or was statistically and practically insignificant. Our experiments show that artificial Faults are not useful for predicting which Fault Localization techniques perform best on real Faults. In light of these results, we identified a design space that includes many previously-studied Fault Localization techniques as well as hundreds of new techniques. We experimentally determined which factors in the design space are most important, using an overall set of 395 real Faults. Then, we extended this design space with new techniques. Several of our novel techniques outperform all existing techniques, notably in terms of ranking defective code in the top-5 or top-10 reports.

  • ICSE - Evaluating and improving Fault Localization
    2017 IEEE ACM 39th International Conference on Software Engineering (ICSE), 2017
    Co-Authors: Spencer Pearson, Jose Campos, Rene Just, Gordon Fraser, Rui Abreu, Michael D Ernst, Deric Pang, Benjamin J Keller
    Abstract:

    Most Fault Localization techniques take as input a Faulty program, and produce as output a ranked list of suspicious code locations at which the program may be defective. When researchers propose a new Fault Localization technique, they typically evaluate it on programs with known Faults. The technique is scored based on where in its output list the defective code appears. This enables the comparison of multiple Fault Localization techniques to determine which one is better. Previous research has evaluated Fault Localization techniques using artificial Faults, generated either by mutation tools or manually. In other words, previous research has determined which Fault Localization techniques are best at finding artificial Faults. However, it is not known which Fault Localization techniques are best at finding real Faults. It is not obvious that the answer is the same, given previous work showing that artificial Faults have both similarities to and differences from real Faults. We performed a replication study to evaluate 10 claims in the literature that compared Fault Localization techniques (from the spectrum-based and mutation-based families). We used 2995 artificial Faults in 6 real-world programs. Our results support 7 of the previous claims as statistically significant, but only 3 as having non-negligible effect sizes. Then, we evaluated the same 10 claims, using 310 real Faults from the 6 programs. Every previous result was refuted or was statistically and practically insignificant. Our experiments show that artificial Faults are not useful for predicting which Fault Localization techniques perform best on real Faults. In light of these results, we identified a design space that includes many previously-studied Fault Localization techniques as well as hundreds of new techniques. We experimentally determined which factors in the design space are most important, using an overall set of 395 real Faults. Then, we extended this design space with new techniques. Several of our novel techniques outperform all existing techniques, notably in terms of ranking defective code in the top-5 or top-10 reports.

  • A Survey on Software Fault Localization
    IEEE Transactions on Software Engineering, 2016
    Co-Authors: W. Eric Wong, Ruizhi Gao, Rui Abreu, Franz Wotawa
    Abstract:

    Software Fault Localization, the act of identifying the locations of Faults in a program, is widely recognized to be one of the most tedious, time consuming, and expensive – yet equally critical – activities in program debugging. Due to the increasing scale and complexity of software today, manually locating Faults when failures occur is rapidly becoming infeasible, and consequently, there is a strong demand for techniques that can guide software developers to the locations of Faults in a program with minimal human intervention. This demand in turn has fueled the proposal and development of a broad spectrum of Fault Localization techniques, each of which aims to streamline the Fault Localization process and make it more effective by attacking the problem in a unique way. In this article, we catalog and provide a comprehensive overview of such techniques and discuss key issues and concerns that are pertinent to software Fault Localization as a whole.

  • A Survey on Fault Localization Techniques
    2014
    Co-Authors: Alexandre Perez, Rui Abreu, Eric Wong
    Abstract:

    A considerable body of work on debugging and particularly in Fault Localization has been published in the past decades. This paper summarizes the underlying ideas behind locating Faults and presents the different techniques that are currently available to tackle the challenging task that is diagnosing Faulty software systems and groups them into different categories: traditional debugging techniques (such as assertions and breakpoints), program slicing, delta debugging and coverage-based, as well as model-based approaches to debugging are detailed. A comparison between such diagnosis techniques is performed, and the challenges and potential future directions of software Fault Localization are also discussed. Keywords-Debugging, diagnosis, Fault Localization, software testing.

  • ICSME - FaultySheet Detective: When Smells Meet Fault Localization
    2014 IEEE International Conference on Software Maintenance and Evolution, 2014
    Co-Authors: Rui Abreu, Alexandre Perez, Jácome Cunha, João Paulo Fernandes, Pedro Martins, João Saraiva
    Abstract:

    This paper presents a tool, dubbed Faulty Sheet Detective, for aiding in spreadsheet Fault Localization, which combines the detection of bad smells with a generic spectrum-based Fault Localization algorithm.

Chengsong Wang - One of the best experts on this subject based on the ideXlab platform.

  • Slice-based statistical Fault Localization
    Journal of Systems and Software, 2014
    Co-Authors: Yuhua Qi, Chengsong Wang
    Abstract:

    HighlightsWe propose a novel slice-based statistical Fault Localization approach to improve Fault Localization effectiveness.We present an approximate dynamic backward slicing approach to balance the size and accuracy of a slice.An experimental study on a sufficient number of Faulty versions and Fault Localization techniques shows the high applicability and effectiveness of our approach. Recent techniques for Fault Localization statistically analyze coverage information of a set of test runs to measure the correlations between program entities and program failures. However, coverage information cannot identify those program entities whose execution affects the output and therefore weakens the aforementioned correlations. This paper proposes a slice-based statistical Fault Localization approach to address this problem. Our approach utilizes program slices of a set of test runs to capture the influence of a program entity's execution on the output, and uses statistical analysis to measure the suspiciousness of each program entity being Faulty. In addition, this paper presents a new slicing approach called approximate dynamic backward slice to balance the size and accuracy of a slice, and applies this slice to our statistical approach. We use two standard benchmarks and three real-life UNIX utility programs as our subjects, and compare our approach with a sufficient number of Fault Localization techniques. The experimental results show that our approach can significantly improve the effectiveness of Fault Localization.

  • EUROMICRO-SEAA - Iterative Feedback-Based Fault Localization Approach
    2011 37th EUROMICRO Conference on Software Engineering and Advanced Applications, 2011
    Co-Authors: Yan Lei, Xiaoguang Mao, Xiaomin Wan, Chengsong Wang
    Abstract:

    Most current Fault-Localization approaches merely use the information from testing to locate Faults, assuming that test cases satisfying a certain test adequacy criterion can provide adequate information for Fault Localization. Unfortunately however, due to different goals between Fault Localization and testing, the information from testing may be inadequate for Fault Localization, which can greatly influence the performance. In this paper, we present an iterative feedback-based Fault Localization approach to address the information inadequacy problem. Based on both testing information and current Fault-Localization results, this approach iteratively uses test data generation techniques to feed back new test cases to initial test suites to increase more useful information for Fault Localization. Experimental results on the Siemens suite demonstrate a significant improvement of our approach over three best types of spectrum-based Fault Localization technique.