The Swarm Intelligence Evaluation of The Software Components Quality

Published: 23-04-2020| Version 3 | DOI: 10.17632/3rh3r2hckr.3
Alexander Gusev,
Dmitry Ilin,
Evgeny Nikulchev


The dataset provides the experimental results for the swarm intelligence evaluation of quality indicators of software components. The experiments were performed in a virtual infrastructure simulating the desired operating conditions of the software system being developed. The Vagrant and Ansible configurations of the virtual infrastructure are provided with the files 'Vagrantfile' and 'playbook.yml' respectively. To reduce the number of experiments with the software components as well as to ensure the sustainability of the solution the integer-valued artifical bee colony algorithm (ABC) was applied. The dataset presents the experimental evaluations of software components associated with the initial and 15 subsequent iterations of the ABC until the algorithm converged. Each file provides the individual evaluation of the quality indicators associated with the corresponding agent. The first number in the filename represents the iteration number of the algorithm from 0 to 15, the second one is the serial number of the food source in the population, then the role of the agent during the food source evaluation is specified. 'StackQual.fis' is the MATLAB fuzzy inference system which was used to assess the overall quality of the software components using the three partial indicators: execution.hrtime, execution.cpuUsage.user, execution.memoryUsage.rss. The file 'Evolution.tif' is the graph of the selection with the ABC. The dataset contains the scenarios for software components selection process (‘’) and the experimental algorithm (‘’), both of which are to be run in the virtual infrastructure. The modified artificial bee colony algorithm with the cost function script is provided as well (‘’). The MATLAB environment is preserved in 'environment.mat' to show the terminal solution set, parameters of the ABC and the evolution process in detail. The file ‘’ contains a number of files representing the available software component implementations. Every file provides the factory function with component initialization algorithm. The factory function returns a new proxy function, which maps passed arguments to match the component's function signature and vice-versa for the output. The file ‘logging.js’ provides means for tracking resource utilization during the experiment.