The paper presents a software design methodology based on computational experiments for effective selection of software component set. The selection of components is performed with respect to the numerical quality criteria evaluated in the reproducible experiments with various sets of components in the virtual infrastructure simulating the operating conditions of a software system being developed. To reduce the number of experiments with unpromising sets of components the genetic algorithm is applied. For representing the sets of components in the form of natural genotypes, the encoding mapping is introduced, reverse mapping is used to decipher the genotype. In the first step of the technique, the genetic algorithm creates an initial population of random genotypes that are converted into the assessed sets of software components. The paper shows the application of the proposed methodology to find the effective choice of Node.js components. For this purpose, a MATLAB program of genetic search and experimental scenario for a virtual machine running Ubuntu 16.04 LTS operating system were developed. To guarantee the proper reproduction of the experimental conditions, the Vagrant and Ansible configuration tools were used to create the virtual environment of the experiment.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.