Text this: A survey of verification techniques for parallel programs