DocumentCode :
233604
Title :
Memory Model-Aware Testing - A Unified Complexity Analysis
Author :
Furbach, Florian ; Meyer, Roland ; Schneider, Klaus ; Senftleben, Maximilian
fYear :
2014
fDate :
23-27 June 2014
Firstpage :
92
Lastpage :
101
Abstract :
To improve performance, multiprocessor systems implement weak memory consistency models -- and a number of models have been developed over the past years. Weak memory models, however, lead to unforeseen program behavior, and there is a current need for memory model-aware program analysis techniques. The problem is that every memory model calls for new verification algorithms. We study a prominent approach to program analysis: testing. The testing problem takes as input sequences of operations, one for each process in the concurrent program. The task is to check whether these sequences can be interleaved to an execution of the entire program that respects the constraints of the memory model. We determine the complexity of the testing problem for most of the known memory models. Moreover, we study the impact on the complexity of parameters like the number of concurrent processes, the length of their executions, and the number of shared variables. What differentiates our approach from related results is a unified analysis. Instead of considering one memory model after the other, we build upon work of Steinke and Nutt. They showed that the existing memory models form a natural hierarchy where one model is called weaker than another one if it includes the latter´s behavior [34]. Using the Steinke-Nutt hierarchy, we develop three general concepts that allow us to quickly determine the complexity of a testing problem. (i) We generalize the technique of problem reductions from complexity theory. So-called range reductions propagate hardness results between memory models, and we apply them to establish NP-lower bounds for the stronger memory models. (ii) For the weaker models, we present polynomial-time testing algorithms. Here, the common idea is determinization. (iii) Finally, we give a single SAT encoding of the testing problem that works for all memory models in the Steinke-Nutt hierarchy. It shows membership in NP. Our results are general enough to classify future wea- memory models. Moreover, they show that SAT solvers are adequate tools for their analysis.
Keywords :
computational complexity; program diagnostics; program testing; program verification; NP-lower bounds; Steinke-Nutt hierarchy; complexity theory; concurrent program; memory model-aware program analysis techniques; memory model-aware testing; multiprocessor systems; natural hierarchy; polynomial-time testing algorithms; program behavior; program verification algorithms; range reductions; single SAT encoding; unified complexity analysis; weak memory consistency models; Algorithm design and analysis; Analytical models; Biological system modeling; Complexity theory; Encoding; Synchronization; Testing; NP-completeness; complexity analysis; concurrency; testing; weak memory models;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Application of Concurrency to System Design (ACSD), 2014 14th International Conference on
Conference_Location :
Tunis La Marsa
Type :
conf
DOI :
10.1109/ACSD.2014.27
Filename :
7016332
Link To Document :
بازگشت