George Shin, Hewlett-Packard Company
This paper describes a method and apparatus for managing and presenting code coverage information of embedded software running in storage target device with multiple controllers without a file system. The management and presentation of the coverage results deal with embedded software that is the target of code coverage measurement. The embedded software runs on multiple platforms from a single code base and code coverage requires separate coverage measurements, one from each unique target platform that the run-time executable is built uniquely for. Each unique platform run-time executable produces its own coverage result that is portable (as long as same source location is used to build these executables) across all other platforms, such that merging and preserving of the measurements from each platform can be carried out at the storage target device without the host intervention. Presenting of and managing coverage results takes place between the host and storage device platforms using standard SCSI commands. The coverage result is managed independently on each storage controller as memory mapped files emulating as a file in a disk based file system. The coverage result storage and retrieval access methods, as part of management interface, are abstracted up to be generic, which supports both disk based and memory mapped file systems. A host in the system described by this invention interacts with the storage target device through the well-defined management interfaces for coverage result presentations to control the granularity of the coverage measurements.