Relay Ladder Logic (RLL) [4] is a programming language widely used for complex embedded control applications such as manufacturing
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 constraint-based 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 demonstrate that our analysis is useful in detecting some flaws in production RLL
programs that are difficult to find by other techniques.
Supported in part by the National Science Foundation, Grant No. CCR-9416973, by NSF Infrastructure Grant No. CDA-9401156,
and a gift from Rockwell Corporation. The information presented here does not necessarily reflect the position or the policy
of the Government and no official endorsement should be inferred.