Formalizing hardware/software interface specifications

  • Authors:
  • Juncao Li;Fei Xie;Thomas Ball;Vladimir Levin;Con McGarvey

  • Affiliations:
  • Microsoft Corporation, Redmond, WA 98052, USA;Dept. of Computer Science, Portland State University, OR 97207, USA;Microsoft Corporation, Redmond, WA 98052, USA;Microsoft Corporation, Redmond, WA 98052, USA;Microsoft Corporation, Redmond, WA 98052, USA

  • Venue:
  • ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

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.