Summary: Detecting Races in Relay Ladder Logic Programs
Alexander Aiken ? , Manuel F¨ahndrich ? , and Zhendong Su ?
University of California, Berkeley ??
Abstract. Relay Ladder Logic (RLL)  is a programming language
widely used for complex embedded control applications such as manu
facturing and amusement park rides. The cost of bugs in RLL programs
is extremely high, often measured in millions of dollars (for shutting
down a factory) or human safety (for rides). In this paper, we describe
our experience in applying constraintbased program analysis techniques
to analyze production RLL programs. Our approach is an interesting
combination of probabilistic testing and program analysis, and we show
that our system is able to detect bugs with high probability, up to the
approximations made by the conservative program analysis. We demon
strate that our analysis is useful in detecting some flaws in production
RLL programs that are difficult to find by other techniques.
Programmable logic controllers (PLC's) are used extensively for complex embed
ded control applications such as factory control in manufacturing industries and
for entertainment equipment in amusement parks. Relay Ladder Logic (RLL) is