Software testing techniques (2nd ed.)
Software testing techniques (2nd ed.)
Introduction to algorithms
PIE: A Dynamic Failure-Based Technique
IEEE Transactions on Software Engineering
The ESTEREL synchronous programming language: design, semantics, implementation
Science of Computer Programming
Synthesis and simulation of digital systems containing interacting hardware and software components
DAC '92 Proceedings of the 29th ACM/IEEE Design Automation Conference
Dynamic impact analysis: a cost-effective technique to enforce error-propagation
ISSTA '93 Proceedings of the 1993 ACM SIGSOFT international symposium on Software testing and analysis
Hardware/software co-simulation
DAC '94 Proceedings of the 31st annual Design Automation Conference
DAC '98 Proceedings of the 35th annual Design Automation Conference
Event-driven observability enhanced coverage analysis of C programs for functional validation
ASP-DAC '03 Proceedings of the 2003 Asia and South Pacific Design Automation Conference
Using a software testing technique to identify registers for partial scan implementation
SBCCI '06 Proceedings of the 19th annual symposium on Integrated circuits and systems design
Coverage-directed observability-based validation for embedded software
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Hi-index | 0.01 |
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.