Hardware and Software: Verification and Testing - Hutchison, David (Springer Berlin Heidelberg, 2012)