Software Product Line Engineering has reached a phase of evolution that has turned the Software Product Lines into more accessible and easier to use not only for those who are rigorouslyspecialized in using them but for everyone. We acknowledge all the benefits gained from this methodology and all the existing contributions given by different authors over time since its discovery. Itsmassive usage initiated the development of a new approach that was specifically designed to handlethe variability of the Software Product Lines called Variability Modeling. The most known technique of Variability Modeling for developing Software products turned out to be Feature Modelingbecause it was seen that the usage of features made the modeling process easier, so they becamethe primary thing to be dealt with. The modeling engineers decided on using feature diagrams toinclude and present these features.However, more complicated scenarios in the Software Product Lines were faced with its massivegrowth and usage, so the Variability Modeling was now identified as Complex Variability Modelingand is taken under study by this thesis work. The wide spectrum of Variability Modeling is definedby different aspects such as modeling approaches and languages, software product family requirements, the applicability in industry, and the extraction and expressiveness of commonalities andvariabilities in Variability Models. The last aspect is also considered very important when it comesto Complex Variability Modeling, and is also tackled in this work