Systematically Exploring the Behavior of Control Programs
- Jason Croft ,
- Ratul Mahajan ,
- Matthew Caesar ,
- Madan Musuvathi
2015 USENIX Annual Technical Conference, USENIX ATC '15, Santa Clara, CA, USA |
Many networked systems today, ranging from home automation networks to global wide-area networks, are operated using centralized control programs. Bugs in such programs pose serious risks to system security and stability. We develop a new technique to systematically explore the behavior of control programs. Because 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 networks. 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.