According to the proliferation of ubiquitous computing, various products which contain
large-size embedded software have been developed. One of most typical features of
embedded software is concurrency of software and hardware factors. That is, software
has connected deeply into hardware devices. The existence of various hardware make
quality assurance of embedded software more difficult. In order to assure quality of
embedded software more effectively, this paper discusses features of embedded software
and an effective method for quality assurance for embedded software. In this paper, we
first analyze a failure distribution of embedded software and discuss the effects of hardware
devices on quality of embedded software. Currently, in order to reduce hardware related
faults, huge effort for testing with large number of test items is required. Thus, one of
the most important issues for quality assurance of embedded software is how to reduce
the cost and effort of software testing. Next, focusing on hardware constraints as well
as software specifications in embedded software, we propose an evaluation metrics for
determinating important functions for quality of embedded software. Furthermore, by
referring to the metrics, undesirable behaviors of important functions are identified as
root nodes of fault tree analysis. From the result of case study applying the proposed
method to actual project data, we confirmed that test items considering the property of
embedded software are constructed. We also confirmed that the constructed test items
are appropriate to detect hardware related faults in embedded systems.