{"id":23792505,"url":"https://github.com/se2p/artifact-scam2021","last_synced_at":"2026-07-11T08:32:46.142Z","repository":{"id":80478180,"uuid":"395540635","full_name":"se2p/artifact-scam2021","owner":"se2p","description":null,"archived":false,"fork":false,"pushed_at":"2021-08-20T07:44:31.000Z","size":9478,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-11T08:32:44.722Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/se2p.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-08-13T06:16:48.000Z","updated_at":"2023-07-14T07:05:28.000Z","dependencies_parsed_at":"2023-02-27T13:01:25.947Z","dependency_job_id":null,"html_url":"https://github.com/se2p/artifact-scam2021","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/se2p/artifact-scam2021","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/se2p%2Fartifact-scam2021","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/se2p%2Fartifact-scam2021/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/se2p%2Fartifact-scam2021/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/se2p%2Fartifact-scam2021/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/se2p","download_url":"https://codeload.github.com/se2p/artifact-scam2021/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/se2p%2Fartifact-scam2021/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35356473,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-11T02:00:05.354Z","response_time":104,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-01T18:35:28.318Z","updated_at":"2026-07-11T08:32:46.123Z","avatar_url":"https://github.com/se2p.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"Supplemental repository for the paper\n[Improving Readability of Scratch Programs with Search-based Refactoring](https://arxiv.org/abs/2108.07114)\ncontaining all data and software to replicate the experiments.\n\n```\n@inproceedings{ImprovingReadabilityScratch,\n  author    = {Felix Adler and\n               Gordon Fraser and\n               Eva Gründinger and\n               Nina Körber and\n               Simon Labrenz and\n               Jonas Lerchenberger and\n               Stephan Lukasczyk and\n               Sebastian Schweikl},\n  title     = {Improving Readability of Scratch Programs with Search-based Refactoring},\n  booktitle = {{21st {IEEE} International Working Conference on Source Code Analysis\n               and Manipulation, {SCAM} 2021}},\n  publisher = {{IEEE}},\n  year      = {2021}\n}\n```\n\n# Experiment Execution\n\nThe following assumes that you have a terminal window open with a prompt\nin the directory of this file.\n\n## Preparations\n\nSet up a Python virtual environment at some arbitrary path—referenced as\n*\u003cpath\u003e* from now.\nMake sure to use Python 3!\nTo execute the execution pipeline you need to have the virtual environment\nactive.\n```\nvirtualenv -p python3 \u003cpath\u003e\nsource \u003cpath\u003e/bin/activate\npip install -r requirements.txt\n```\n\n## Execution\n\nExecute the script `./run_everything.sh`.\nIt will clone the LitterBox repository,\ncheckout revision `6b193f88`,\nbuild LitterBox,\ncopy the JAR archive to the expected location,\nexecute the runs,\nand create a `results.csv` in the `data` folder.\nAfterwards, the statistical evaluation can be\nperformed by exeuction the Jupyter Notebook\nscript in the `analysis` folder.\n\n\n## Changes\n\nThe single location that you might want to change is the value of the constant\n`ITERATIONS` in `run_everything.sh`,\nwhich determines how many different seeds will be executed.\n\nThe individual run configurations for a single tool run\ncan be configured in the `execution.py` script,\nwhich generates a bash script for each tool invocation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fse2p%2Fartifact-scam2021","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fse2p%2Fartifact-scam2021","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fse2p%2Fartifact-scam2021/lists"}