Explaining software failures by cascade fault localization
dc.contributor.author | Yi, Q. | |
dc.contributor.author | Yang, Z. | |
dc.contributor.author | Liu, Jian | |
dc.contributor.author | Zhao, C. | |
dc.contributor.author | Wang, C. | |
dc.date.accessioned | 2018-12-13T09:13:19Z | |
dc.date.available | 2018-12-13T09:13:19Z | |
dc.date.created | 2018-12-12T02:46:47Z | |
dc.date.issued | 2015 | |
dc.identifier.citation | Yi, Q. and Yang, Z. and Liu, J. and Zhao, C. and Wang, C. 2015. Explaining software failures by cascade fault localization. ACM Transactions on Design Automation of Electronic Systems. 20 (3). | |
dc.identifier.uri | http://hdl.handle.net/20.500.11937/72416 | |
dc.identifier.doi | 10.1145/2738038 | |
dc.description.abstract |
© 2015 ACM. During software debugging, a significant amount of effort is required for programmers to identify the root cause of a manifested failure. In this article, we propose a cascade fault localization method to help speed up this labor-intensive process via a combination of weakest precondition computation and constraint solving. Our approach produces a cause tree, where each node is a potential cause of the failure and each edge represents a casual relationship between two causes. There are two main contributions of this article that differentiate our approach from existing methods. First, our method systematically computes all potential causes of a failure and augments each cause with a proper context for ease of comprehension by the user. Second, our method organizes the potential causes in a tree structure to enable on-the-fly pruning based on domain knowledge and feedback from the user. We have implemented our new method in a software tool called CaFL, which builds upon the LLVM compiler and KLEE symbolic virtual machine. We have conducted experiments on a large set of public benchmarks, including real applications from GNU Coreutils and Busybox. Our results show that in most cases the user has to examine only a small fraction of the execution trace before identifying the root cause of the failure. | |
dc.publisher | Association of Computing Machinery | |
dc.title | Explaining software failures by cascade fault localization | |
dc.type | Journal Article | |
dcterms.source.volume | 20 | |
dcterms.source.number | 3 | |
dcterms.source.issn | 1084-4309 | |
dcterms.source.title | ACM Transactions on Design Automation of Electronic Systems | |
curtin.department | WASM: Minerals, Energy and Chemical Engineering (WASM-MECE) | |
curtin.accessStatus | Fulltext not available |
Files in this item
Files | Size | Format | View |
---|---|---|---|
There are no files associated with this item. |