software verification and validation articles