Detection of intermittent faults in software programs through identification of suspicious shared variable access patterns

TitleDetection of intermittent faults in software programs through identification of suspicious shared variable access patterns
Publication TypeJournal Article
Year of Publication2020
AuthorsSotiropoulos P, Vassilakis C
JournalJournal of Systems and Software
Volume159
Pagination110455
Date Published30 October 2019
ISSN0164-1212
KeywordsFault detection, Intermittent faults, Model-based checking, Shared variables
AbstractIntermittent faults are a very common problem in the software world, while difficult to be debugged. Most of the existing approaches though assume that suitable instrumentation has been provided in the program, typically in the form of assertions that dictate which program states are considered to be erroneous. In this paper we propose a method that can be used to detect probable sources of intermittent faults within a program. Our method proposes certain points in the code, whose data interdependencies combined with their execution interweaving indicate that they could be the cause of intermittent faults. It is the responsibility of the user to accept or reject these proposals. An advantage of this method is that it removes the need for having predefined assertion points in the code, being able to detect potential sources of intermittent faults in the whole bulk of the code, with no instrumentation requirements on the side of the programmer. The proposed approach exploits information from the dynamic behavior of the program. In comparison with parser-based approaches which analyze only the program structure, our approach is immutable to language term changes and in general is not depending on any user-provided assertions or configuration.
DOI10.1016/j.jss.2019.110455
Full Text

You can download the preprint of this article.


Corrigendum to the preprint

The text

it was observed that the limit was not reached within the fault detection process execution, indicating that further increments to that parameter would not affect the time and resources needed.

on page 34 should read

it was observed, after examining the log files, that all combinations of the thread shared variable accesses were tested and any increments to that parameter would not affect the outcome result.