kirancodes.me
To Proof Maintenance & Beyond!

Formalizing hardware/software interface specifications

Juncao Li, Fei Xie, Thomas Ball, Vladimir Levin, Con McGarvey

Abstract

Software drivers are usually developed after hardware devices become available. This dependency can induce a long product cycle. Although co-simulation and co-verification techniques have been utilized to facilitate the driver development, Hardware/Software (HW/SW) interface models, as the test harnesses, are often challenging to specify. Such interface models should have formal semantics, be efficient for testing, and cover all HW/SW behaviors described by HW/SW interface protocols. We present an approach to formalizing HW/SW interface specifications, where we propose a semantic model, relative atomicity, to capture the concurrency model in HW/SW interfaces; demonstrate our approach via a realistic example; elaborate on how we have utilized this approach in device/driver development process; and discuss criteria for evaluating our formal specifications. We have detected fifteen issues in four English specifications. Furthermore, our formal specifications are readily useful as the test harnesses for co-verification, which has discovered twelve real bugs in five industrial driver programs.

BibTeX
@inproceedings{Li-al:ASE11,
  author    = {Juncao Li and
               Fei Xie and
               Thomas Ball and
               Vladimir Levin and
               Con McGarvey},
  title     = {Formalizing hardware/software interface specifications},
  booktitle = {ASE},
  pages     = {143--152},
  publisher = {{IEEE} Computer Society},
  year      = {2011},
}

Related papers