Repository for the course Software Evolution
- Jovan Maric, 10443762
- Hector Stenger, 10398872
- Start Rascal REPL in root dir:
java -Xmx1G -Xss32m -jar <rascal_jar_location>
import Runner;
to import the general runner module.- Run metrics on given path eg:
runMetrics(|cwd:///path/to/directory|);
- Run metrics on HSQLDB:
runHSQL();
- Run metrics on SmallSQL:
runSmall();
- Run tests:
runTests();
Series 2 is split into two parts: Clone detection and Visualization. Follow the below steps to properly configure both components.
To generate json data for the visualization part you need to do the following:
- Start Rascal REPL in root dir:
java -Xmx1G -Xss32m -jar <rascal_jar_location>
import Runner;
to import the general runner module.- Run clone detection tests:
runDuplicationTests()
- Run clone detection on fixtures:
runDuplicationFixtures()
- Run clone detection on SmallSQL:
runDuplicationSmallSQL();
- Run clone detection on HSQLDB:
runDuplicationHSQL();
To get the visualization working you need to fulfill the below steps. Keep in mind that data has to be generated with the clone detection tool first.
The visualization works best on the chrome browser.
- Install yarn first from https://yarnpkg.com/lang/en/docs/install/
- Install dependencies
- cd into the visualization directory:
cd visualization
- run:
yarn install
- When everything is installed:
- run the visualization with
yarn start
- A local webserver will be spawned and exposed on http://localhost:3000.
- Visit http://localhost:3000 and enjoy
- We are running rascal with:
java -Xmx6G -Xss512M -jar path/to/rascal
- Generating a type-2 clone detection based JSON of hsqldb takes a lot of time therefore it isn't included in the library.
- re-importing a spec after changing an imported module in that spec does not reload the dependencies the spec has. Rascal does this in a shallow way. To ensure that the specs are using the updated version of the dependency explicitly re-import the changed module.