|Title||Detection of intermittent faults in software programs through identification of suspicious shared variable access patterns|
|Publication Type||Journal Article|
|Year of Publication||2020|
|Authors||Sotiropoulos P, Vassilakis C|
|Journal||Journal of Systems and Software|
|Date Published||30 October 2019|
|Keywords||Fault detection, Intermittent faults, Model-based checking, Shared variables|
|Abstract||Intermittent 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.|
|Full Text|| |
You can download the preprint of this article.
Corrigendum to the preprint
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.