The aim of this paper is to provide a review on verification and validation of embedded software. An embedded software is a product that contains a microprocessor and software to perform certain function. The growing demand for new features and functionalities of embedded systems makes the design and implementation reach a higher level of complexity. We focused on identifying research trends in order to provide a review of the challenges that emerge during the verification and validation processes of embedded software. The research works are grouped by related themes in order to find research problems that persist nowadays.