Observability analysis of embedded software for coverage-directed validation

  • Authors:
  • José C. Costa;Srinivas Devadas;José C. Monteiro

  • Affiliations:
  • IST/INESC;MIT;IST/INESC

  • Venue:
  • Proceedings of the 2000 IEEE/ACM international conference on Computer-aided design
  • Year:
  • 2000

Quantified Score

Hi-index 0.01

Visualization

Abstract

The most common approach to checking correctness of a hardware or software design is to verify that a description of the design has the proper behavior as elicited by a series of input stimuli. In the case of software, the program is simply run with the appropriate inputs, and in the case of hardware, its description written in a hardware description language (HDL) is simulated with the appropriate input vectors. In coverage-directed validation, coverage metrics are defined that quantitatively measure the degree of verification coverage of the design.Motivated by recent work on observability-based coverage metrics for models described in a hardware description language, we develop a method that computes an observability-based code coverage metric for embedded software written in a high-level programming language. Given a set of input vectors, our metric indicates the instructions that had no effect on the output. An assignment that was not relevant to generate the output value cannot be considered as being covered. Results show that our method offers a significantly more accurate assessment of design verification coverage than statement coverage. Existing coverage methods for hardware can be used with our method to build a verification methodology for mixed hardware/software or embedded systems.