Systematic Techniques For Efficiently Checking Software Product Lines