Spectrum based fault localisation sfl is a promising technique that does not rely on an explicit model of the system under analy sis and has been shown to yield good diagnostic accuracy for software systems hofer et al. Spectrumbased fault localization sbfl is a popular technique used in software debugging for the localization of bugs 3, 116. Our approach exploits the cyclic nature of embedded programs and uses several adapted spectrumbased methods in order to. These spectra are analyzed in the spectrumbased fault localization process based on the intuition that lines of. Spectrumbased fault localization in model transformations acm. On the accuracy of spectrumbased fault localization. Proceedings of the international symposium on microarchitecture, new york, ny, usa, pp. Sfl uses abstraction of program traces to correlate software component activity with program failures. In the software development process, faulty statement in software code. Fault localization in embedded control system software abstract by kai liang embedded control systems are built and used everywhere in modern society. Spectrum based fault localization in model transformations this projects supports and verifies the evaluation performed in 1. Problem attempts to reduce the number of delivered faults in soft. Abstract inthedevelopmentandmaintenanceofsoftware,thelocalizationoftherootcause of bugs is challenging and timeconsuming. As a lightweight automated diagnosis technique it can easily be integrated with existing testing schemes.
Program slicing spectrumbased software fault localization. Spectrum based fault localization sfl shortens the testdiagnoserepair cycle by reducing the debugging effort. Experimental evaluation of hybrid algorithm in spectrum based fault localization a. In this paper, we survey modelbased diagnosis and spectrumbased fault localization, two stateoftheart approaches to fault diagnosis that jointly cover the combination of hardware and control software typically found in embedded systems. In this paper, we combine a fault localization technique spectrumbased fault localization, sfl with local recovery techniques to achieve fully autonomous fault detection, isolation, and recovery. Rui abreu 5 spectrum based fault localization in embedded software ph. It utilizes a program spectrum, which is an execution profile that. Our focus is on algorithms that can help locate bugs in control code, therebey reducing development time and improving the safety of the system. Acm special interest group on software engineering sigsoft. Introduction software testing and debugging are the most expensive but necessary activity in software development life cycle for software quality assurance 1 and 2. A research framework for softwarefault localization tools. Spectrumbased fault localization sbfl is a popular technique used in.
Spectrumbased fault localization in software product lines author links open overlay panel aitor arrieta a sergio segura b urtzi markiegi a goiuria sagardui a leire etxeberria a show more. As an indication, in one of the experiments described in the present paper, on average 20% of a program still needs to be inspected after the diagnosis. Exploiting count spectra for bayesian fault localization. Combining spectrum based fault localization and statistical debugging.
Accuracy graphs of spectrum based fault localization. In either case, including more than around 20 passed runs has little effect on the accuracy. Prior work on statistical fault localization has generally attempted to develop codecoverage based techniques to locate faults in arbitrary code. Spectrumbased fault localization in software product. In particular, for fault localization techniques based on machine learning, the models available in literatures are all shallow architecture algorithms. Index termsmicroservices, fault localization, tracing, visualization, debugging f 1 introduction microservice architecture 1 is an architectural style and. Softwarefault detection in embedded systems by runtime. On improving the accuracy of spectrumbased fault localization. Sbfl technique works by analyzing the code execution information spectra of pass and fail test cases, which are gathered during the software testing phase.
Software architectures for realtime embedded applications. Spectrumbased fault localization sbfl is a technique to assist on the location of program bugs. Fault localization using visualization of test information james a. It has been developed with eclipse modeling tools, version mars. Pdf software fault localization, the act of identifying the locations of faults in a program, is widely recognized to be.
Spectrumbased fault localisation for multiagent systems. Selected topics of software technology 3 6 spectrumbased fault localization relevant literature abreu, zoeteweij, gemund. Although spectrum based fault localization has been shown to be effective, its diag. Supporting reuse by reverse engineering software architecture and component from. Two major approaches can be distinguished, 1 spectrumbased fault localization sfl, and 2 modelbased diagnosis or debugging mbd. Selected topics of software technology 3 2 spectrumbased fault localization we before we start, a few organizational things vo date for the written exam. Existing dynamic fault localization techniques focus on pinpointing dataaccess patterns that are subject to concurrency faults. Fault localization for java programs using probabilistic.
The standard technique for assessing the sourcelevel impact of these soft errors, fault injection essentially a blackbox testing technique provides limited highlevel information. A program spectrum is a collection of data that provides a specific view on the dynamic behavior of software 11. On the accuracy of spectrum based fault localization rui abreu peter zoeteweij arjan j. Provably optimal and humancompetitive results in sbse for spectrum based fault localization. Experimental evaluation of hybrid algorithm in spectrum based. Spectrumbased fault localization in model transformations.
This thesis focuses on improving the accuracy of spectrum based fault localization sbfl technique to locate faulty code during the software debugging process. Spectrumbased fault localization for diagnosing concurrency. Existing dynamic faultlocalization techniques focus on pinpointing dataaccess patterns that are subject to concurrency faults. In this paper, we introduce model based diagnosis and spectrum based fault localization, two stateoftheart approaches to fault diagnosis that jointly cover the combination of hardware and. Javier troya, sergio segura, jose antonio parejo, antonio ruizcortes, spectrumbased fault localization in model transformations, acm transactions on software engineering and methodology tosem, v. Fault density, fault types, and spectrabased fault. Estimating the effectiveness of spectrumbased fault localization. Spectrumbased fault localization in software product lines. Spectrumbased fault localization in embedded software tu delft. Abstract spectrum based fault localization sbfl techniques calculate risk values to predict buggy units in a program, but. With software s increasing scale and complexity, software failure is inevitable. Static program analysis of embedded executable assembly code. Spectrum based fault localization sbfl is a technique to assist on the location of program bugs. Fault localization in embedded control system software.
The spectrum is a record of the lines of code in a program which have been executed or not executed by a test case. In spectrumbased fault localization, a similarity co. Spectrumbased fault localization without test oracles. Xiaoyuan xie, feiching kuo, tsong yueh chen, shin yoo, and mark harman. Issre19 jingjing liang, yaozong hou, shurui zhou, junjie chen, yingfei xiong, gang huang. A new spectrumbased fault localization with the technique of. A practical evaluation of spectrumbased fault localization.
Spectrum based fault localization sbfl during software testing, two essential types of information are collected for sbfl, namely program spectrum and testing results. Java 8 is needed in order to execute it, as well as the atl and atl emftvm plugins. In this paper, we combine a fault localization technique spectrum based fault localization, sfl with local recovery techniques to achieve fully autonomous fault detection, isolation, and recovery. Eunseok lee 1samsung electronics, suwon, gyeonggido, south korea 2sungkyunkwan university, suwon, gyeonggido, south korea abstractduring debugging process in software development cycle, fault localization is. Spectrum based fault localization shortens the test diagnoserepair cycle by reducing the debugging effort. Estimating the effectiveness of spectrumbased fault. Therefore, bugfree control code is an important consideration. Despite being one of the most basic tasks in software development, debugging is still performed in a mostly manual way. For the full list of publications, check my profile at the portuguese science foundation for science and technologys the degois cv platform. An evaluation of similarity coefficients for software fault localization.
In this article we provide an overview of several such methods and discuss some of the key issues and concerns that are relevant to fault localization. Automated fault diagnosis in embedded systems ieee. Spectrumbased fault localization in deployed embedded. Citeseerx fault localization in embedded software based. Selected topics of software technology 3 spectrumbased fault. Transitioning from traditional embedded software development into a layered software architecture, can result in a large learning curve. It covers a wide spectrum of topics ranging from integrated circuit design, computer architecture, communication networks, machine learning and realtime operating systems to software engineering and formal methods for embedded applications. Pdf faultlocalization techniques for software systems. Software systems are becoming increasingly vulnerable to a new class of soft errors, originating from voltage spikes produced by cosmic radiation. Spectrumbased fault localization sfl shortens the testdiagnoserepair cycle by reducing the debugging effort. Existing bug localization techniques can be divided into two families.
A new spectrumbased fault localization with the technique. Selected topics of software technology 3 spectrumbased. In this paper, we propose a spectrum based fault localization technique for localizing faulty code blocks instead. Pdf a survey on software fault localization researchgate. A testsuite diagnosability metric for spectrumbased fault. Traditional fault localization techniques and static analysis fall short to. Statisticsbased fault localization techniques such as spectrumbased fault localization sfl use abstraction of program traces also known as program spectra to find a statistical relationship between source code locations and observed failures. However, the e ciency of spectrumbased fault localization comes at the cost of a limited diagnostic accuracy.
Sbfl uses the results of test cases and their corresponding code coverage information to estimate the risk of each program component e. Improving spectrumbased faultlocalization through spectra. A collection of spectrum, or spectra plural form of spectrum, can be sourced from the testing process. Fault localization in embedded software based on a single. We propose a new approach to monitor a deployed embedded system with another embedded system, which acts autonomously and. In this paper we describe a novel architecture based on multiagent for software fault diagnosis. Automated fault diagnosis is emerging as an important factor in achieving an acceptable and competitive costdependability ratio for embedded systems. Using medical robot control systems, we develop an approach to automatically localize faulty statements in the control code. We implement a software diagnosis based on this architecture and demonstrate its high diagnostic accuracy and effectiveness in an experiment with realistic software intensive equipment.
However, as no model of the system is taken into account, its diagnostic accuracy is inherently limited. A program spectrum is a collection of data that provides a specific view on the dynamic behavior of software. To be efficient, local recovery must be aware of which component is at fault. Software product line spl testing is challenging mainly due to the potentially huge number of products under. Spectrum based fault localization in deployed embedded systems with driver interaction models springerlink.
To address this problem, researchers have studied promising approaches, such as spectrumbased fault localization sfl techniques, which. We propose a metric, called ddu, aimed at complementing adequacy measurements by quantifying a testsuites diagnosability, i. Boosting spectrumbased fault localization using pagerank. Software faults are still a problem especially in deployed systems. Automated fault localization, debugging, fault interference, spectrum based fault localization introduction software systems are complex and this complexity contributes to the increase in the number of faults in the system that led to the increase in software maintenance cost cleve and zeller 2005. Spectrumbased fault localization shortens the test diagnoserepair cycle by reducing the debugging effort. An errorlocalization, validation and optimization tool for. Spectrumbased fault localization does not rely on a model of the system under. Proper algorithm design helps reducing size of temporary data structures used for data processing. Increasing system availability with local recovery based on fault localization. Generally speaking, it records the runtime profiles about. It uses the results of test cases and their corresponding code coverage information to estimate the likelihood of each program component e. In proceedings of the 6th international conference on predictive models in software engineering promise10.
Research on software fault diagnosis system based on multi. In this paper we present a toolset for automatic fault localization, dubbed zoltar, which adopts a spectrumbased fault localization technique. Fault localization is a process to find the location of faults. Automated fault diagnosis in embedded systems citeseerx. Ieee transactions on software engineering 42, 8 2016, 707740. Increasing system availability with local recovery based on. Spectrum based debugging 11 or spectrum based fault localization sfl 12 is the process of monitoring the statements involved in a particular execution trace.
Javier troya, sergio segura, jose antonio parejo, antonio ruizcortes, spectrum based fault localization in model transformations, acm transactions on software engineering and methodology tosem, v. Abstractspectrumbased fault localization sbfl is a popular fault localization. Fault density, fault types, and spectra based fault localization 3 with its correlation to fault type. Spectrum based fault localization is amongst the most effective techniques for automatic fault localization. Our results suggest that fli has a signi cant impact on cfl results and is prevalent in software containing multiple faults. Summary of applying spectrum based fault localization to the philips tv software stack. However, abstractions of program execution traces, one of the required inputs for this technique, require instrumentation of the software under test at a statement level of granularity in order to compute a list of potential faulty statements.
Fault localization analysis based on deep neural network. Spectrum based fault localization sbfl can be used to locate faults in a very generic system model. Singletrace fault localization in embedded software core. Phd thesis, delft university of technology, november 2009. Consequently, manual analysis is difficult and our industrial partners call for automatic and more effective fault localization methods for embedded software.
He is a full professor, the director of international outreach, and the founding director of advanced research center for software testing and quality assurance in computer science at the university of texas at dallas utd. Sbfl has received great attention in the last decade 39. Abreu, spectrumbased fault localization in embedded. Abreu, spectrum based fault localization in embedded software. Faculty of engineering, computing and science, swinburne university of technology kuching, sarawak, malaysia. This paper presents a new approach to automatically locate faults in embedded programs given a single faulty execution trace. To date, although many kinds of software fault localization methods have been proposed and have had respective achievements, they also have limitations. Automated diagnosis of software faults can improve the efficiency of the debugging process, and is therefore an important process for the development of dependable software. To address this problem, researchers have studied promising approaches, such as spectrum based fault localization sfl techniques, which pinpoint program elements more likely to contain faults. Introduction in software development process, fault localization is a boring and difficult task that required a lot of efforts from programmers.
Spectrum based fault localization is a statistical technique that aims at helping software developers to. Adopting a new design and implementation methodology learning new tools initially, the adoption of software layered architectures may result in a. Index terms software engineering, software testing, debugging, spectrum based fault localization. Fault localization using visualization of test information. Abreu, r spectrumbased fault localization in embedded software. The fact that a few observations can already provide a nearoptimal diagnosis enables the application of spectrum based fault localization methods within continuous embedded processing, where only limited observation horizons can be maintained. Jul 15, 2016 despite being one of the most basic tasks in software development, debugging is still performed in a mostly manual way, leading to high cost and low performance. An evaluation of similarity coefficients for software fault localization 12th ieee pacific rim international symposium on dependable computing. Abstract of a research framework for softwarefault localization tools by emmanuel renieris, ph. Despite being one of the most basic tasks in software development, debugging is still performed in a mostly manual way, leading to high cost and low. Increasing system availability with local recovery based. Spectrumbased fault localization in embedded software. Research area fault localization using software visualization, testing information, and program analysis techniques. Information retrieval and spectrum based bug localization.
1197 1080 503 1349 1150 1016 430 1591 1098 498 1123 881 1151 903 1469 1092 470 1336 423 582 1369 536 1054 901 49 582 501 257 1232 1447