In this section we briefly explain which scripts runs to replicate each of the RQ formulated in the manuscript
For generating the results of the three RQs formulated in the paper, it is necessary to execute MoMIT on SunSpider testbed. You can obtain a copy of Sunspider from kraken (another test suite based on sunspider). The benchkmark is located in the folder kraken/tests/sunspiderxx, where xx is SunSpider version.
We provide a different .sh bash script for each search algorithm:
For RS+:
https://github.com/moar82/jMetalPy/blob/master/iot/run_sunspider_testbed_rs.sh/
For NSGA-II:
https://github.com/moar82/jMetalPy/blob/master/iot/run_sunspider_testbed.sh/
For SWAY:
https://github.com/moar82/jMetalPy/blob/master/iot/sway/Experiments/run_sunspider_testbed_sway.sh
To answer this RQ, we extended one of the JS tests in RQs 1 and 2 (date-format-tofte) to format and manipulate numbers using Numeral.js from Node.js. For this purpose, we included a configuration file (module.ini), where you can enter the third-party library that you want to include in your code. We also modified harness.c to resolve the references to that library.
*Note that these scripts assume that you unzip all .js tests in the same folder of the script.
**RS+ and NSGA-II were implemented using JMetalPy, while SWAY was implemented using DEAP framework.
****To convert solution files (VAR) to duktape configuration file (yaml) use the python script var_2_yaml.py