101. How I met your implemented variability
- Author
-
Johann Mortara, Philippe Collet, Université Côte d'Azur (UCA), Scalable and Pervasive softwARe and Knowledge Systems (Laboratoire I3S - SPARKS), Laboratoire d'Informatique, Signaux, et Systèmes de Sophia Antipolis (I3S), Université Nice Sophia Antipolis (... - 2019) (UNS), COMUE Université Côte d'Azur (2015-2019) (COMUE UCA)-COMUE Université Côte d'Azur (2015-2019) (COMUE UCA)-Centre National de la Recherche Scientifique (CNRS)-Université Côte d'Azur (UCA)-Université Nice Sophia Antipolis (... - 2019) (UNS), and COMUE Université Côte d'Azur (2015-2019) (COMUE UCA)-COMUE Université Côte d'Azur (2015-2019) (COMUE UCA)-Centre National de la Recherche Scientifique (CNRS)-Université Côte d'Azur (UCA)
- Subjects
Object-oriented programming ,050208 finance ,variability identification ,Java ,variability ,Computer science ,business.industry ,05 social sciences ,020207 software engineering ,Static program analysis ,[INFO.INFO-SE]Computer Science [cs]/Software Engineering [cs.SE] ,02 engineering and technology ,Toolchain ,Identification (information) ,Inheritance (object-oriented programming) ,symfinder ,0502 economics and business ,Software design pattern ,0202 electrical engineering, electronic engineering, information engineering ,Software engineering ,business ,computer ,visualization ,Codebase ,computer.programming_language - Abstract
International audience; Variability-rich object-oriented systems are often not organized as fully-fledged software product lines, and implement their variability in a single code base using the mechanisms provided by the supporting language (e.g., inheritance overloading, design patterns). This makes variability identification and management very difficult. In this half-day tutorial open to both academics and industrials, we present how the symfinder toolchain can help one to better understand how variability is implemented in a single codebase Java system, relying solely on a specific code analysis and an adapted visualization. After presenting the underlying concepts on which symfinder is based (i.e., symmetries in code, density), the participants will be able to use the toolchain and visualize the potential variation points and variants identified by symfinder in their own projects or in provided large-scale open-source projects.
- Published
- 2021
- Full Text
- View/download PDF