A Comparison of Different Approaches for Verification and Validation of Software in Safety-Critical Systems