ABSTRACT
Migrating a set of similar software products into a Software Product Line is a time-consuming and costly process which, ultimately, provides an important gain in time and customization. Conducting this migration within an agile development process is a complex process which requires discipline and adaptation. We think it can be beneficial to drive the migration by leveraging agile software specifications and the source code versioning platform. Currently, we are working on a method, whose design is explained in this paper, which exploits: (1) Epics and User stories to identify features and variability and (2) the source code associated to code merges related to User stories and Epics to locate them. We plan to extract features and variability inside Epics and User stories using Natural Language Processing (NLP) techniques. Then we plan to investigate how formal concept analysis (FCA) and relational concept analysis (RCA) can assist feature model synthesis and establish mappings between features and source code. These knowledge discovery methods have been chosen for their ability to highlight and hierarchically organize groups of similar artefacts. FCA only considers artefact description to establish groups of similar artefacts. RCA groups similarly described artefacts that, in addition, share similar relationships to other artefact groups. We also plan to evaluate the method within the context of a company (ITK) with which we collaborate, using its code base and the associated project management artifacts. We also will assess how the method can be generalized to public projects in source code versioning platforms.
- Thorsten Berger, Daniela Lettner, Julia Rubin, Paul Grünbacher, Adeline Silva, Martin Becker, Marsha Chechik, and Krzysztof Czarnecki. 2015. What is a Feature? A Qualitative Study of Features in Industrial Software Product Lines. In Proceedings of the 19th International Conference on Software Product Line (Nashville, Tennessee) (SPLC '15). Association for Computing Machinery, New York, NY, USA, 16--25. Google ScholarDigital Library
- David M Blei, Andrew Y Ng, and Michael I Jordan. 2003. Latent dirichlet allocation. Journal of machine Learning research 3, Jan (2003), 993--1022.Google ScholarDigital Library
- Jessie Carbonnel, Marianne Huchard, and Alain Gutierrez. 2015. Variability representation in product lines using concept lattices: feasibility study with descriptions from Wikipedia's product comparison matrices. In FCA&A-ICFCA: International Conference on Formal Concept Analysis - International Conference on Formal Concept Analysis, Manuel Ojeda-Aciego, Jaume Baixeries, and Christian Sacarea (Eds.), Vol. CEUR Workshop Proceedings. University of Málaga, Nerja, Málaga, Spain. https://hal-lirmm.ccsd.cnrs.fr/lirmm-01183447Google Scholar
- Jessie Carbonnel, Marianne Huchard, André Miralles, and Clémentine Nebut. 2017. Feature Model Composition Assisted by Formal Concept Analysis. In ENASE: Evaluation of Novel Approaches to Software Engineering (Proceedings of the 12th International Conference on Evaluation of Novel Approaches to Software Engineering), Ernesto Damiani, George Spanoudakis, and Leszek A. Maciaszek (Eds.). SciTePress, Porto, Portugal, 27--37. Google ScholarDigital Library
- Jessie Carbonnel, Marianne Huchard, and Clémentine Nebut. 2019. Modelling equivalence classes of feature models with concept lattices to assist their extraction from product descriptions. Journal of Systems and Software 152 (2019), 1--23. Google ScholarDigital Library
- S.T. Dumais. 2004. Latent Semantic Analysis. Annual Review of Information Science and Technology 38 (01 2004), 188--230. Google ScholarCross Ref
- Bernhard Ganter and Rudolf Wille. 2012. Formal concept analysis: mathematical foundations. Springer Science & Business Media.Google Scholar
- Thomas Georges, Marianne Huchard, Mélanie König, Clémentine Nebut, and Chouki Tibermacine. 2021. Variability Extraction from Simulator I/O Data Schemata in Agriculture Decision-Support Software. In Proceedings of the 9th Workshop (FCA4AI), co-located with IJCAI 2021, Montréal, Canada, August 2021. Virutal Event.Google Scholar
- Marianne Huchard. 2016. Relational Concept Analysis: An approach for classifying and mining multi-relational data. https://hal.archives-ouvertes.fr/hal-01316104 Invited seminar at NorthEastern University, State Key Laboratory of Synthetical Automation for Process Industries, Shenyang.Google Scholar
- Lukas Linsbauer, E. Roberto Lopez-Herrejon, and Alexander Egyed. 2013. Recovering Traceability between Features and Code in Product Variants. In Proceedings of the 17th International Software Product Line Conference (Tokyo, Japan) (SPLC '13). Association for Computing Machinery, New York, NY, USA, 131--140. Google ScholarDigital Library
- Garm Lucassen, Fabiano Dalpiaz, Jan Martijn Van der Werf, and Sjaak Brinkkemper. 2016. Improving agile requirements: the Quality User Story framework and tool. Requirements Engineering 21 (09 2016). Google ScholarDigital Library
- Elallaoui Meryem, Khalid Nafil, and Raja Touahni. 2018. Automatic Transformation of User Stories into UML Use Case Diagrams using NLP Techniques. Procedia Computer Science 130 (01 2018), 42--49. Google ScholarDigital Library
- Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. 2013. Efficient estimation of word representations in vector space. arXiv preprint arXiv:1301.3781 (2013).Google Scholar
- Hlad Nicolas, Bérénice Lemoine, Marianne Huchard, and Abdelhak-Djamel Seriai. 2021. Leveraging relational concept analysis for automated feature location in software product lines. In GPCE 2021 - 20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences. Association for Computing Machinery (ACM SIGPLAN), Chicago, United States, 170--183. Google ScholarDigital Library
- Christos H. Papadimitriou, Hisao Tamaki, Prabhakar Raghavan, and Santosh Vempala. 1998. Latent Semantic Indexing: A Probabilistic Analysis. In Proceedings of the Seventeenth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems (Seattle, Washington, USA) (PODS '98). Association for Computing Machinery, New York, NY, USA, 159--168. Google ScholarDigital Library
- Daniel Pech, Jens Knodel, Ralf Carbon, Clemens Schitter, and Dirk Hein. 2009. Variability management in small development organizations: experiences and lessons learned from a case study. 285--294. Google ScholarCross Ref
- Klaus Pohl, Günter Böckle, and Frank van der Linden. 2005. Software Product Line Engineering - Foundations, Principles, and Techniques. Springer. Google ScholarCross Ref
Recommendations
Agile Tames Product Line Variability: An Agile Development Method for Multiple Product Lines of Automotive Software Systems
SPLC '17: Proceedings of the 21st International Systems and Software Product Line Conference - Volume AThis article proposes an agile development method and its management method for multiple product lines of automotive software systems. In product line development, the problem area is divided into the domain engineering and application engineering for ...
Code-based variability model extraction for software product line improvement
SPLC '12: Proceedings of the 16th International Software Product Line Conference - Volume 2Successful Software Product Lines (SPLs) evolve over time. However, one practical problem is that during SPL evolution the core assets, especially the code, tend to become complicated and difficult to understand, use, and maintain. Typically, more and ...
Integrating Software Product Line Engineering and Agile Development
Software product line engineering (SPLE) delivers significant economic benefits through planned reuse of the product platform and the effective management of variations across products. However, dynamic market conditions demand the use of software ...
Comments