Issue No.07 - July (1998 vol.24)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.708566
<p><b>Abstract</b>—In this paper, we present our experiences in using symbolic model checking to analyze a specification of a software system for aircraft collision avoidance. Symbolic model checking has been highly successful when applied to hardware systems. We are interested in whether model checking can be effectively applied to large software specifications. To investigate this, we translated a portion of the state-based system requirements specification of Traffic Alert and Collision Avoidance System II (TCAS II) into input to a symbolic model checker (SMV). We successfully used the symbolic model checker to analyze a number of properties of the system. We report on our experiences, describing our approach to translating the specification to the SMV language, explaining our methods for achieving acceptable performance, and giving a summary of the properties analyzed. Based on our experiences, we discuss the possibility of using model checking to aid specification development by iteratively applying the technique early in the development cycle. We consider the paper to be a data point for optimism about the potential for more widespread application of model checking to software systems.</p>
Formal methods, state-based specifications, requirements, statecharts, symbolic model checking, binary decision diagrams, software verification.
William Chan, Richard J. Anderson, Paul Beame, Steve Burns, Francesmary Modugno, David Notkin, Jon D. Reese, "Model Checking Large Software Specifications", IEEE Transactions on Software Engineering, vol.24, no. 7, pp. 498-520, July 1998, doi:10.1109/32.708566