Communicating sequential processes
Communicating sequential processes
Algorithms
Concurrent programming: principles and practice
Concurrent programming: principles and practice
Advanced compiler design and implementation
Advanced compiler design and implementation
Identifying loops in almost linear time
ACM Transactions on Programming Languages and Systems (TOPLAS)
SIAM Journal on Computing
A fast algorithm for finding dominators in a flowgraph
ACM Transactions on Programming Languages and Systems (TOPLAS)
Solution of a problem in concurrent programming control
Communications of the ACM
Symbolic Evaluation and the Analysis of Programs
IEEE Transactions on Software Engineering
A Framework for CFG-Based Static Program Analysis of Ada Programs
Ada-Europe '08 Proceedings of the 13th Ada-Europe international conference on Reliable Software Technologies
Hi-index | 0.00 |
A busy wait loop is a loop which repeatedly checks whether an event occurs. Busy wait loops for process synchronization and communication are considered bad practice because (1) system failures may occur due to race conditions and (2) system resources are wasted by busy wait loops. In general finding a busy wait loop is an undecidable problem. To get a handle on the problem, we introduce a decidable predicate for loops that will spot most important classes of busy waiting although false alarms may occur. The loop predicate for detecting busy wait loops is based on control flow graph properties (such as loops) and program analysis techniques.