Wille, DavidDavidWilleTiede, MichaelMichaelTiedeSchulze, SandroSandroSchulzeSeidl, ChristophChristophSeidlSchaefer, InaInaSchaefer2020-04-302020-04-302016Leveraging Applications of Formal Methods, Verification and Validation: Discussion, Dissemination, Applications. ISoLA 2016, Lecture Notes in Computer Science (9953): 547-562 (2016)http://hdl.handle.net/11420/6000A large set of object-oriented programming (OOP) languages exists to realize software for different purposes. Companies often create variants of their existing software by copying and modifying them to changed requirements. While these so-called clone-and-own approaches allow to save money in short-term, they expose the company to severe risks regarding long-term evolution and product quality. The main reason is the high manual maintenance effort which is needed due to the unknown relations between variants. In this paper, we introduce a modelbased approach to identify variability information for OOP code, allowing companies to better understand and manage variability between their variants. This information allows to improve maintenance of the variants and to transition from single variant development to more elaborate reuse strategies such as software product lines. We demonstrate the applicability of our approach by means of a case study analyzing variants generated from an existing software product line and comparing our findings to the managed reuse strategy.enInformatikIdentifying variability in object-oriented code using model-based code miningConference Paper10.1007/978-3-319-47169-3_43Other