This tool performs code clone detection using Z3 SMT solver for symbolic reasoning.
git clone ...
cd SimTwinpython3 -m venv venv
source venv/bin/activatepip install -r requirements.txtTo run the code clone detection:
python3 SimTwin.py T2_samples/func1.py T2_samples/func2.pyMake sure your virtual environment is activated before running the script.
After using the tool, deactivate your virtual environment by running:
deactivateNote: Ensure you have Python 3 installed on your machine.
Here are some example comparisons you can run to validate the tool:
python3 SimTwin.py T1_samples/func0.py T1_samples/func1.py
python3 SimTwin.py T1_samples/func1.py T1_samples/func2.py
python3 SimTwin.py T1_samples/func3.py T1_samples/func4.pypython3 SimTwin.py T2_samples/func1.py T2_samples/func2.py
python3 SimTwin.py T2_samples/func3.py T2_samples/func4.pypython3 SimTwin.py T3_samples/func1.py T3_samples/func2a.py
python3 SimTwin.py T3_samples/func1.py T3_samples/func2b.py
python3 SimTwin.py T3_samples/func2a.py T3_samples/func2b.py
python3 SimTwin.py T3_samples/func3.py T3_samples/func4.py
python3 SimTwin.py T3_samples/func5.py T3_samples/func6.py
python3 SimTwin.py T3_samples/func5.py T3_samples/func7.py
python3 SimTwin.py T3_samples/func5.py T3_samples/func8.py
python3 SimTwin.py T3_samples/func6.py T3_samples/func7.py
python3 SimTwin.py T3_samples/func6.py T3_samples/func8.py
python3 SimTwin.py T3_samples/func7.py T3_samples/func8.pypython3 SimTwin.py T4_samples/func1.py T4_samples/func2.py
python3 SimTwin.py T4_samples/func3.py T4_samples/func4.pypython3 SimTwin.py T1_samples/func1.py T4_samples/func2.py
python3 SimTwin.py T1_samples/func1.py T4_samples/func4.py
python3 SimTwin.py T1_samples/func1.py T3_samples/func5.py