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, 2009Co-Authors: Mazen G. Khair, Burak Kantarci, Jun Zheng, Hussein T. MouftahAbstract: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, 2008Co-Authors: Mazen G. Khair, Burak Kantarci, Hussein T. MouftahAbstract: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, 2008Co-Authors: Mazen G. Khair, Burak Kantarci, Jun Zheng, Hussein T. MouftahAbstract: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), 2015Co-Authors: Nan Wang, Zhenyu Zhang, Zheng Zheng, Cheng ChenAbstract: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, 2014Co-Authors: Yuzhen Liu, Zhenyu Zhang, Jian LiuAbstract: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, 2013Co-Authors: Chang-ai Sun, Yi Meng Zhai, Yan Shang, Zhenyu ZhangAbstract: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, 2011Co-Authors: Zhenyu Zhang, W. K. Chan, T. H. TseAbstract: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, 2009Co-Authors: Bo Jiang, Zhenyu Zhang, T. H. Tse, Tsong Yueh ChenAbstract: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, 2014Co-Authors: Maoxiaoguang, Leiyan, Daiziying, Qiyuhua, WangchengsongAbstract: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, 2017Co-Authors: Spencer Pearson, Jose Campos, Rene Just, Gordon Fraser, Rui Abreu, Michael D Ernst, Deric Pang, Benjamin J KellerAbstract: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), 2017Co-Authors: Spencer Pearson, Jose Campos, Rene Just, Gordon Fraser, Rui Abreu, Michael D Ernst, Deric Pang, Benjamin J KellerAbstract: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, 2016Co-Authors: W. Eric Wong, Ruizhi Gao, Rui Abreu, Franz WotawaAbstract: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
2014Co-Authors: Alexandre Perez, Rui Abreu, Eric WongAbstract: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, 2014Co-Authors: Rui Abreu, Alexandre Perez, Jácome Cunha, João Paulo Fernandes, Pedro Martins, João SaraivaAbstract: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, 2014Co-Authors: Yuhua Qi, Chengsong WangAbstract: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, 2011Co-Authors: Yan Lei, Xiaoguang Mao, Xiaomin Wan, Chengsong WangAbstract: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.