In this section, we present all the necessary files and steps in order to learn the majority of all stable implementation of the TodoMVC project.
The symbol sets that we used to learn implementation of TodoMVC can be downloaded from here: todomvc-symbols.zip. In most of the cases, the final hypothesis should look like this:
- A system with Node.js and NPM installed
- Global access to gulp
npm install -g gulp gulp-cli
- The latest version of ALEX
- Version 1.3 of TodoMVC
- In the folder of TodoMVC, execute
- Open http://localhost:8080
In the next steps, we assume that we learn the AngularJS implementation of TodoMVC. Of cause, you can learn any implementation as well. Adjust the URL and the symbol sets accordingly.
- Start ALEX and login
- In the left menu, click on the item App settings and setup the path to a web driver executable (preferable Chrome)
- Hit the Save button
- In the project overview, create a new project with the URL of a TodoMVC implementation as a base URL, e.g. http://localhost:8080/examples/angularjs/ if you want to learn AngularJS
- Click on the newly created project
- In the left menu, under the group Symbols, click on the item Import to import an already given symbol set
- Drop the angular-symbols.json in the corresponding field
- Select all symbols and click on Import
- In the left menu, under the group Learn, click on the item Setup
- Select all symbols except the one called Reset
- Mark the symbol Reset as reset symbol
- In the top right corner, click on the settings button
- As equivalence oracle, select Random Word. We executed all experiments with the parameters (min=30, max=80, words=60, seed=42)
- In the dialog, select the webdriver you have set up previously
- Click on Save
- Start the learning process and wait ...
Note: On our setup with a Core i5 6600k, 16Gb RAM and an SSD the final hypothesis is computed after about one hour. Depending on your learn setup, e.g. higher parameters for the equivalence oracle, or your pc hardware, the execution time of the learning process may vary.