A Regression Testing Approach for Software Product Lines Architectures: Selecting an efficient and effective set of test cases