Systematically Exploring the Behavior of Control Programs
Jason Croft, Ratul Mahajan, Matthew Caesar, Madan Musuvathi · 2015
Abstract — Many networked systems today, ranging from home automation networks to global wide-area net-works, are operated using centralized control programs. Bugs in such programs pose serious risks to system secu-rity and stability. We develop a new technique to system-atically explore the behavior of control programs. Be-cause control programs depend intimately on absolute and relative timing of inputs, a key challenge that we face is to systematically handle time. We develop an approach that models programs as timed automata and incorporates novel mechanisms to enable scalable and comprehensive exploration. We implement our approach in a tool called DeLorean and apply it to real control programs for home automation and software-defined net-works. DeLorean is able to finds bugs in these programs as well as provide significantly better code coverage—up to 94 % compared to 76 % for existing techniques. 1