SMS: A survey of verification techniques for parallel programs /