@article {721, title = {Detection of intermittent faults in software programs through identification of suspicious shared variable access patterns}, journal = {Journal of Systems and Software}, volume = {159}, year = {2020}, month = {30 October 2019}, pages = {110455}, 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.}, keywords = {Fault detection, Intermittent faults, Model-based checking, Shared variables}, issn = {0164-1212}, doi = {10.1016/j.jss.2019.110455}, author = {Panagiotis Sotiropoulos and Costas Vassilakis} }