Context-bounded model checking of LTL properties for ANSI-C software

  • Authors:
  • Jeremy Morse;Lucas Cordeiro;Denis Nicole;Bernd Fischer

  • Affiliations:
  • Electronics and Computer Science, University of Southampton, UK;Electronic and Information Research Center, Federal University of Amazonas, Brazil;Electronics and Computer Science, University of Southampton, UK;Electronics and Computer Science, University of Southampton, UK

  • Venue:
  • SEFM'11 Proceedings of the 9th international conference on Software engineering and formal methods
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Context-bounded model checking has successfully been used to verify safety properties in multi-threaded systems automatically, even if they are implemented in low-level programming languages like ANSIC. In this paper, we describe and experiment with an approach to extend context-bounded model checking to liveness properties expressed in linear-time temporal logic (LTL). Our approach converts the LTL formulae into Büchi-automata and then further into C monitor threads, which are interleaved with the execution of the program under test. This combined system is then checked using the ESBMC model checker. Since this approach explores a larger number of interleavings than normal context-bounded model checking, we use a state hashing technique which substantially reduces the number of redundant interleavings that are explored and so mitigates state space explosion. Our experimental results show that we can verify non-trivial properties in the firmware of a medical device.