On-the-fly detection of access anomalies

作者: D. Schonberg

DOI: 10.1145/73141.74844

关键词: Thread (computing)Trace analysisComputer scienceData compressionAlgorithmShared memorySubtractionOn the flyAnomaly detectionStatic analysis

摘要: Access anomalies are a common class of bugs in shared-memory parallel programs. An access anomaly occurs when two concurrent execution threads both write (or one thread reads and the other writes) same shared memory location without coordination. Approaches to detection include static analysis, post-mortem trace on-the-fly monitoring.A general algorithm for is presented, which can be applied programs with nested fork-join synchronization operations. The advantage over analysis that amount storage used greatly reduced by data compression techniques discarding information as soon it becomes obsolete. In required at any time depends only on number V variables being monitored N threads, not synchronizations. Data achieved use called merging subtraction. Upper bounds shown × N2

参考文章(11)
Todd R. Allen, David A Padua, Debugging Fortran on a shared memory machine Proc Int Conf Parallel Process 1987. pp. 721- 727 ,(1987)
Henry Ledgard, Reference Manual for the ADA Programming Language Springer-Verlag New York, Inc.. ,(1983)
Leblanc, Mellor-Crummey, Debugging Parallel Programs with Instant Replay IEEE Transactions on Computers. ,vol. 36, pp. 471- 482 ,(1987) , 10.1109/TC.1987.1676929
Michael G. Burke, Ron K. Cytron, Interprocedural dependence analysis and parallelization ACM SIGPLAN Notices. ,vol. 39, pp. 139- 154 ,(2004) , 10.1145/989393.989411
Perry A. Emrath, David A. Padua, Automatic detection of nondeterminacy in parallel programs workshop on parallel & distributed debugging. ,vol. 24, pp. 89- 99 ,(1988) , 10.1145/68210.69224
Gérard M. Baudet, Asynchronous Iterative Methods for Multiprocessors Journal of the ACM. ,vol. 25, pp. 226- 244 ,(1978) , 10.1145/322063.322067
Carle, Cooper, Hood, Kennedy, Torczon, Warren, A Practical Environment for Scientific Programming IEEE Computer. ,vol. 20, pp. 75- 89 ,(1987) , 10.1109/MC.1987.1663418
Richard N. Taylor, A general-purpose algorithm for analyzing concurrent programs Communications of The ACM. ,vol. 26, pp. 361- 376 ,(1983) , 10.1145/69586.69587
B. P. Miller, Jong-Deok Choi, A mechanism for efficient debugging of parallel programs programming language design and implementation. ,vol. 23, pp. 141- 150 ,(1988) , 10.1145/960116.54004
B. Appelbe, C.E. McDowell, Developing multitasking applications programs [1988] Proceedings of the Twenty-First Annual Hawaii International Conference on System Sciences. Volume II: Software track. ,vol. 2, pp. 94- 102 ,(1988) , 10.1109/HICSS.1988.11793