  Ideally, a variability model is a correct and complete representation of
product line features and constraints among them. Together with a mapping
between features and code, this ensures that only valid products can be
configured and derived. However, in practice the modeled constraints might be
neither complete nor correct, which causes problems in the configuration and
product derivation phases. This paper presents an approach to reverse engineer
variability constraints from the implementation, and thus improve the
correctness and completeness of variability models. We extended the concept of
feature effect analysis to extract variability constraints from code artifacts
of the Bosch PS-EC large-scale product line. We present an industrial
application of the approach and discuss its required modifications to handle
non-Boolean variability and heterogeneous artifact types.
