Text this: Handling state space explosion in component-based software verification: a review