Abstract
The industrialization of software development in the business sector promotes the creation of custom software solutions, of better quality, and at a lower cost. In this context, migrating to a Software Product Line (SPL) represents an interesting option for companies that already offer a range of similar software products.The industrial partner for this research project is the ITK company. This company develops a range of decision support software products for various agricultural cultures and is planning to migrate to an SPL.To facilitate a successful migration to a software product line, it is essential to prepare the various project stakeholders to adopt new methods and practices. This is why a thorough assessment of the expectations and readiness of the stakeholders is necessary to ease this transition.The first contribution of this thesis is to carry out this evaluation. It was conducted through interviews with project stakeholders and a detailed analysis of their responses.Migrating the existing software range to an SPL involves localizing and identifying the existing functionalities. Creating representative feature models of the system to be migrated is a crucial initial step. Many resources are linked to the source code and can be leveraged to enrich the migration, feature model generation, and SPL maintenance.Source code version control platforms, for example, provide means to link specifications to source code, primarily through the use of user stories and feature-based code merges. The second contribution of this thesis is an automated process that utilizes user stories to generate feature models. This method combines natural language processing, supervised artificial intelligence models, and formal and relational concept analysis to generate feature models for each user of the studied software. These models are enriched by considering constraints from code merges and a domain ontology.The third contribution of this thesis is a method for identifying variability in the data schemas of different simulators for existing software. In fact, the development of a new software at ITK begins with the integration of a simulator, developed by agronomists, for a new crop. This method is based on formal concept analysis and allows for enriching configurations to create new products.