[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-72354":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":19,"compositeScore":20,"rankGlobal":10,"rankLanguage":10,"license":21,"archived":22,"fork":22,"defaultBranch":23,"hasWiki":24,"hasPages":22,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":26,"readmeContent":27,"aiSummary":28,"trendingCount":16,"starSnapshotCount":16,"syncStatus":29,"lastSyncTime":30,"discoverSource":31},72354,"auto-code-rover","AutoCodeRoverSG\u002Fauto-code-rover","AutoCodeRoverSG","A project structure aware autonomous software engineer aiming for autonomous program improvement. Resolved 37.3% tasks (pass@1) in SWE-bench lite and 46.2% tasks (pass@1) in SWE-bench verified with each task costs less than $0.7.","",null,"Python",3085,329,25,20,0,6,13,18,29.56,"Other",false,"main",true,[],"2026-06-12 02:03:02","# AutoCodeRover: Autonomous Program Improvement\n\n\u003Cbr>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fnus-apr\u002Fauto-code-rover\u002Fassets\u002F16000056\u002F8d249b02-1db4-4f58-a5a4-bdb694d65ab1\" alt=\"autocoderover_logo\" width=\"200px\" height=\"200px\">\n\u003C\u002Fp>\n\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2404.05427\">\u003Cstrong>ArXiv Paper\u003C\u002Fstrong>\u003C\u002Fa>\n  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n  \u003Ca href=\"https:\u002F\u002Fautocoderover.dev\u002F\">\u003Cstrong>Website\u003C\u002Fstrong>\u003C\u002Fa>\n  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n  \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002FScXsdE49JY\">\u003Cstrong>Discord server\u003C\u002Fstrong>\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cbr>\n\n![overall-workflow](https:\u002F\u002Fgithub.com\u002Fnus-apr\u002Fauto-code-rover\u002Fassets\u002F48704330\u002F0b8da9ad-588c-4f7d-9c99-53f33d723d35)\n\n\u003Cbr>\n\n\n> [!NOTE]\n> This is a public version of the AutoCodeRover project. Check the latest results on our [website](https:\u002F\u002Fautocoderover.dev\u002F).\n\n## 📣 Updates\n- [November 21, 2024] AutoCodeRover(v20240620) achieves **46.20%** efficacy on SWE-bench Verified and **24.89%** on full SWE-bench.\n- [August 14, 2024] On the SWE-bench Verified dataset released by OpenAI, AutoCodeRover(v20240620) achieves **38.40%** efficacy, and AutoCodeRover(v20240408) achieves 28.8% efficacy. More details in the [blog post](https:\u002F\u002Fopenai.com\u002Findex\u002Fintroducing-swe-bench-verified\u002F) from OpenAI and [SWE-bench leaderboard](https:\u002F\u002Fwww.swebench.com\u002F).\n- [July 18, 2024] AutoCodeRover now supports a new mode that outputs the list of potential fix locations.\n- [June 20, 2024] AutoCodeRover(v20240620) now achieves **30.67%** efficacy (pass@1) on SWE-bench-lite!\n- [June 08, 2024] Added support for Gemini, Groq (thank you [KasaiHarcore](https:\u002F\u002Fgithub.com\u002FKasaiHarcore) for the contribution!) and Anthropic models through AWS Bedrock (thank you [JGalego](https:\u002F\u002Fgithub.com\u002FJGalego) for the contribution!).\n- [April 29, 2024] Added support for Claude and Llama models. Find the list of supported models [here](#using-a-different-model)! Support for more models coming soon.\n- [April 19, 2024] AutoCodeRover now supports running on [GitHub issues](#github-issue-mode-set-up-and-run-on-new-github-issues) and [local issues](#local-issue-mode-set-up-and-run-on-local-repositories-and-local-issues)! Feel free to try it out and we welcome your feedback!\n\n## [Discord](https:\u002F\u002Fdiscord.gg\u002FScXsdE49JY) - server for general discussion, questions, and feedback.\n\n## 👋 Overview\n\nAutoCodeRover is a fully automated approach for resolving GitHub issues (bug fixing and feature addition) where LLMs are combined with analysis and debugging capabilities to prioritize patch locations ultimately leading to a patch.\n\n[Update on June 20, 2024] AutoCodeRover(v20240620) now resolves **30.67%** of issues (pass@1) in SWE-bench lite! AutoCodeRover achieved this efficacy while being economical - each task costs **less than $0.7** and is completed within **7 mins**!\n\n\u003Cp align=\"center\">\n\u003Cimg src=https:\u002F\u002Fgithub.com\u002Fnus-apr\u002Fauto-code-rover\u002Fassets\u002F16000056\u002F78d184b2-f15c-4408-9eac-cfd3a11a503a width=500\u002F>\n\u003Cimg src=https:\u002F\u002Fgithub.com\u002Fnus-apr\u002Fauto-code-rover\u002Fassets\u002F16000056\u002F83253ae9-8789-474e-942d-708495b5b310 width=500\u002F>\n\u003C\u002Fp>\n\n[April 08, 2024] First release of AutoCodeRover(v20240408) resolves **19%** of issues in [SWE-bench lite](https:\u002F\u002Fwww.swebench.com\u002Flite.html) (pass@1), improving over the current state-of-the-art efficacy of AI software engineers.\n\n\nAutoCodeRover works in two stages:\n\n- 🔎 Context retrieval: The LLM is provided with code search APIs to navigate the codebase and collect relevant context.\n- 💊 Patch generation: The LLM tries to write a patch, based on retrieved context.\n\n### ✨ Highlights\n\nAutoCodeRover has two unique features:\n\n- Code search APIs are *Program Structure Aware*. Instead of searching over files by plain string matching, AutoCodeRover searches for relevant code context (methods\u002Fclasses) in the abstract syntax tree.\n- When a test suite is available, AutoCodeRover can take advantage of test cases to achieve an even higher repair rate, by performing *statistical fault localization*.\n\n## 🗎 arXiv Paper\n### AutoCodeRover: Autonomous Program Improvement [[arXiv 2404.05427]](https:\u002F\u002Farxiv.org\u002Fabs\u002F2404.05427)\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2404.05427\">\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fnus-apr\u002Fauto-code-rover\u002Fassets\u002F48704330\u002Fc6422951-a6e8-4494-9403-b5ada3d9ee7d\" alt=\"First page of arXiv paper\" width=\"570\">\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\nFor referring to our work, please cite and mention:\n```\n@inproceedings{zhang2024autocoderover,\n    author = {Zhang, Yuntong and Ruan, Haifeng and Fan, Zhiyu and Roychoudhury, Abhik},\n    title = {AutoCodeRover: Autonomous Program Improvement},\n    year = {2024},\n    isbn = {9798400706127},\n    publisher = {Association for Computing Machinery},\n    address = {New York, NY, USA},\n    url = {https:\u002F\u002Fdoi.org\u002F10.1145\u002F3650212.3680384},\n    doi = {10.1145\u002F3650212.3680384},\n    booktitle = {Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis},\n    pages = {1592–1604},\n    numpages = {13},\n    keywords = {automatic program repair, autonomous software engineering, autonomous software improvement, large language model},\n    location = {Vienna, Austria},\n    series = {ISSTA 2024}\n}\n```\n\n## ✔️ Example: Django Issue #32347\n\nAs an example, AutoCodeRover successfully fixed issue [#32347](https:\u002F\u002Fcode.djangoproject.com\u002Fticket\u002F32347) of Django. See the demo video for the full process:\n\nhttps:\u002F\u002Fgithub.com\u002Fnus-apr\u002Fauto-code-rover\u002Fassets\u002F48704330\u002F719c7a56-40b8-4f3d-a90e-0069e37baad3\n\n### Enhancement: leveraging test cases\n\nAutoCodeRover can resolve even more issues, if test cases are available. See an example in the video:\n\nhttps:\u002F\u002Fgithub.com\u002Fnus-apr\u002Fauto-code-rover\u002Fassets\u002F48704330\u002F26c9d5d4-04e0-4b98-be55-61c1d10a36e5\n\n## 🚀 Setup & Running\n\n### Setup API key and environment\n\nWe recommend running AutoCodeRover in a Docker container.\n\nSet the `OPENAI_KEY` env var to your [OpenAI key](https:\u002F\u002Fhelp.openai.com\u002Fen\u002Farticles\u002F4936850-where-do-i-find-my-openai-api-key):\n\n```\nexport OPENAI_KEY=sk-YOUR-OPENAI-API-KEY-HERE\n```\n\nFor Anthropic model, Set the `ANTHROPIC_API_KEY` env var can be found [here](https:\u002F\u002Fdocs.anthropic.com\u002Fclaude\u002Freference\u002Fgetting-started-with-the-api)\n\n```\nexport ANTHROPIC_API_KEY=sk-ant-api...\n```\n\nThe same with `GROQ_API_KEY`\n\nBuild and start the docker image for the AutoCodeRover tool:\n\n```\ndocker build -f Dockerfile.minimal -t acr .\ndocker run -it -e OPENAI_KEY=\"${OPENAI_KEY:-OPENAI_API_KEY}\" acr\n```\n\n### Setup: local mode\n\nAlternatively, you can have a local copy of AutoCodeRover and manage python dependencies with `environment.yml`.\nThis is the recommended setup for running SWE-bench experiments with AutoCodeRover.\nWith a working conda installation, do `conda env create -f environment.yml`.\nSimilarly, set `OPENAI_KEY` or `ANTHROPIC_API_KEY` in your shell before running AutoCodeRover.\n\n## Running AutoCodeRover\n\nYou can run AutoCodeRover in three modes:\n\n1. GitHub issue mode: Run ACR on a live GitHub issue by providing a link to the issue page.\n2. Local issue mode: Run ACR on a local repository and a file containing the issue description.\n3. SWE-bench mode: Run ACR on SWE-bench task instances. (local setup of ACR recommend.)\n\n### [GitHub issue mode] Set up and run on new GitHub issues\n\nIf you want to use AutoCodeRover for new GitHub issues in a project, prepare the following:\n\n- Link to clone the project (used for `git clone ...`).\n- Commit hash of the project version for AutoCodeRover to work on (used for `git checkout ...`).\n- Link to the GitHub issue page.\n\nThen, in the docker container (or your local copy of AutoCodeRover), run the following commands to set up the target project\nand generate patch:\n\n```\ncd \u002Fopt\u002Fauto-code-rover\nconda activate auto-code-rover\nPYTHONPATH=. python app\u002Fmain.py github-issue --output-dir output --setup-dir setup --model gpt-4o-2024-05-13 --model-temperature 0.2 --task-id \u003Ctask id> --clone-link \u003Clink for cloning the project> --commit-hash \u003Cany version that has the issue> --issue-link \u003Clink to issue page>\n```\nHere is an example command for running ACR on an issue from the langchain GitHub issue tracker:\n\n```\nPYTHONPATH=. python app\u002Fmain.py github-issue --output-dir output --setup-dir setup --model gpt-4o-2024-05-13 --model-temperature 0.2 --task-id langchain-20453 --clone-link https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain.git --commit-hash cb6e5e5 --issue-link https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flangchain\u002Fissues\u002F20453\n```\n\nThe `\u003Ctask id>` can be any string used to identify this issue.\n\nIf patch generation is successful, the path to the generated patch will be written to a file named `selected_patch.json` in the output directory.\n\n### [Local issue mode] Set up and run on local repositories and local issues\n\nInstead of cloning a remote project and run ACR on an online issue, you can also prepare the local repository and issue beforehand,\nif that suits the use case.\n\nFor running ACR on a local issue and local codebase, prepare a local codebase and write an issue description into a file,\nand run the following commands:\n\n```\ncd \u002Fopt\u002Fauto-code-rover\nconda activate auto-code-rover\nPYTHONPATH=. python app\u002Fmain.py local-issue --output-dir output --model gpt-4o-2024-05-13 --model-temperature 0.2 --task-id \u003Ctask id> --local-repo \u003Cpath to the local project repository> --issue-file \u003Cpath to the file containing issue description>\n```\n\nIf patch generation is successful, the path to the generated patch will be written to a file named `selected_patch.json` in the output directory.\n\n### [SWE-bench mode] Set up and run on SWE-bench tasks\n\nThis mode is for running ACR on existing issue tasks contained in SWE-bench.\n\n#### Set up\n\n##### Install SWE-bench Docker\n\nWe use a [fork](https:\u002F\u002Fgithub.com\u002Fnus-apr\u002FSWE-bench-docker) of [SWE-bench docker](https:\u002F\u002Fgithub.com\u002Faorwall\u002FSWE-bench-docker) to run regression tests (not `FAIL_TO_PASS` tests, but all the tests in the buggy programs). To install this, run\n\n```\nconda activate auto-code-rover\ngit submodule update --init --recursive\ncd SWE-bench-docker\npip install .\n```\n\n##### Setting up Testbed\n\nFor SWE-bench mode, we recommend setting up ACR on a host machine, instead of running it in docker mode.\n\nFirstly, set up the SWE-bench task instances locally.\n\n1. Clone [this SWE-bench fork](https:\u002F\u002Fgithub.com\u002Fyuntongzhang\u002FSWE-bench) and follow the [installation instruction](https:\u002F\u002Fgithub.com\u002Fyuntongzhang\u002FSWE-bench?tab=readme-ov-file#to-install) to install dependencies.\n\n2. Put the tasks to be run into a file, one per line:\n\n```\ncd \u003CSWE-bench-path>\necho django__django-11133 > tasks.txt\n```\n\nOr if running on arm64 (e.g. Apple silicon), try this one which doesn't depend on Python 3.6 (which isn't supported in this env):\n\n```\necho django__django-16041 > tasks.txt\n```\n\nThen, set up these tasks by running:\n3. Set up these tasks in the file by running:\n\n```\ncd \u003CSWE-bench-path>\nconda activate swe-bench\npython harness\u002Frun_setup.py --log_dir logs --testbed testbed --result_dir setup_result --subset_file tasks.txt\n```\n\nOnce the setup for this task is completed, the following two lines will be printed:\n\n```\nsetup_map is saved to setup_result\u002Fsetup_map.json\ntasks_map is saved to setup_result\u002Ftasks_map.json\n```\n\nThe `testbed` directory will now contain the cloned source code of the target project.\nA conda environment will also be created for this task instance.\n\n_If you want to set up multiple tasks together, put multiple ids in `tasks.txt` and follow the same steps._\n\n#### Run a single task in SWE-bench\n\nBefore running the task (`django__django-11133` here), make sure it has been set up as mentioned [above](#set-up-one-or-more-tasks-in-swe-bench).\n\n```\ncd \u003CAutoCodeRover-path>\nconda activate auto-code-rover\nPYTHONPATH=. python app\u002Fmain.py swe-bench --model gpt-4o-2024-05-13 --setup-map \u003CSWE-bench-path>\u002Fsetup_result\u002Fsetup_map.json --tasks-map \u003CSWE-bench-path>\u002Fsetup_result\u002Ftasks_map.json --output-dir output --task django__django-11133\n```\n\nThe output for a run (e.g. for `django__django-11133`) can be found at a location like this: `output\u002Fapplicable_patch\u002Fdjango__django-11133_yyyy-MM-dd_HH-mm-ss\u002F` (the date-time field in the directory name will be different depending on when the experiment was run).\n\nPath to the final generated patch is written in a file named `selected_patch.json` in the output directory.\n\n#### Run multiple tasks in SWE-bench\n\nFirst, put the id's of all tasks to run in a file, one per line. Suppose this file is `tasks.txt`, the tasks can be run with\n\n```\ncd \u003CAutoCodeRover-path>\nconda activate auto-code-rover\nPYTHONPATH=. python app\u002Fmain.py swe-bench --model gpt-4o-2024-05-13 --setup-map \u003CSWE-bench-path>\u002Fsetup_result\u002Fsetup_map.json --tasks-map \u003CSWE-bench-path>\u002Fsetup_result\u002Ftasks_map.json --output-dir output --task-list-file \u003CSWE-bench-path>\u002Ftasks.txt\n```\n\n**NOTE**: make sure that the tasks in `tasks.txt` have all been set up in SWE-bench. See the steps [above](#set-up-one-or-more-tasks-in-swe-bench).\n\n#### Using a config file\n\nAlternatively, a config file can be used to specify all parameters and tasks to run. See `conf\u002Fexample.conf` for an example.\nAlso see [EXPERIMENT.md](EXPERIMENT.md) for the details of the items in a conf file.\nA config file can be used by:\n\n```\npython scripts\u002Frun.py conf\u002Fexample.conf\n```\n\n### Using a different model\n\nAutoCodeRover works with different foundation models. You can set the foundation model to be used with the `--model` command line argument.\n\nThe current list of supported models:\n\n|  | Model | AutoCodeRover cmd line argument |\n|:--------------:|---------------|--------------|\n| OpenAI         | gpt-4o-2024-08-06      | --model gpt-4o-2024-08-06 |\n|                | gpt-4o-2024-05-13      | --model gpt-4o-2024-05-13 |\n|                | gpt-4-turbo-2024-04-09 | --model gpt-4-turbo-2024-04-09 |\n|                | gpt-4-0125-preview     | --model gpt-4-0125-preview |\n|                | gpt-4-1106-preview     | --model gpt-4-1106-preview |\n|                | gpt-3.5-turbo-0125     | --model gpt-3.5-turbo-0125 |\n|                | gpt-3.5-turbo-1106     | --model gpt-3.5-turbo-1106 |\n|                | gpt-3.5-turbo-16k-0613 | --model gpt-3.5-turbo-16k-0613 |\n|                | gpt-3.5-turbo-0613     | --model gpt-3.5-turbo-0613 |\n|                | gpt-4-0613             | --model gpt-4-0613 |\n| Anthropic      | Claude 3.5 Sonnet v2   | --model claude-3-5-sonnet-20241022 |\n|                | Claude 3.5 Sonnet      | --model claude-3-5-sonnet-20240620 |\n|                | Claude 3 Opus          | --model claude-3-opus-20240229 |\n|                | Claude 3 Sonnet        | --model claude-3-sonnet-20240229 |\n|                | Claude 3 Haiku         | --model claude-3-haiku-20240307 |\n| Meta           | Llama 3 70B            | --model llama3:70b |\n|                | Llama 3 8B             | --model llama3     |\n| AWS Bedrock    | Claude 3 Opus          | --model bedrock\u002Fanthropic.claude-3-opus-20240229-v1:0 |\n|                | Claude 3 Sonnet        | --model bedrock\u002Fanthropic.claude-3-sonnet-20240229-v1:0 |\n|                | Claude 3 Haiku         | --model bedrock\u002Fanthropic.claude-3-haiku-20240307-v1:0 |\n|                | Claude 3.5 Sonnet      | --model bedrock\u002Fanthropic.claude-3-5-sonnet-20241022-v2:0 |\n|                | Nova Pro               | --model bedrock\u002Fus.amazon.nova-pro-v1:0 |\n|                | Nova Lite              | --model bedrock\u002Fus.amazon.nova-lite-v1:0 |\n|                | Nova Micro             | --model bedrock\u002Fus.amazon.nova-micro-v1:0 |\n| LiteLLM        | Any LiteLLM model      | --model litellm-generic-\u003CMODEL_NAME_HERE> |\n| Groq           | Llama 3 8B             | --model groq\u002Fllama3-8b-8192 |\n|                | Llama 3 70B            | --model groq\u002Fllama3-70b-8192 |\n|                | Llama 2 70B            | --model groq\u002Fllama2-70b-4096 |\n|                | Mixtral 8x7B           | --model groq\u002Fmixtral-8x7b-32768 |\n|                | Gemma 7B               | --model groq\u002Fgemma-7b-it |\n\n\n> [!NOTE]\n> Using the Groq models on a free plan can cause the context limit to be exceeded, even on simple issues.\n\n> [!NOTE]\n> Some notes on running ACR with local models such as llama3:\n> 1. Before using the llama3 models, please [install ollama](https:\u002F\u002Follama.com\u002Fdownload\u002Flinux) and download the corresponding models with ollama (e.g. `ollama pull llama3`).\n> 2. You can run ollama server on the host machine, and ACR in its container. ACR will attempt to communicate to the ollama server on host.\n> 3. If your setup is ollama in host + ACR in its container, we recommend installing [Docker Desktop](https:\u002F\u002Fdocs.docker.com\u002Fdesktop\u002F) on the host, in addition to the [Docker Engine](https:\u002F\u002Fdocs.docker.com\u002Fengine\u002F).\n>     - Docker Desktop contains Docker Engine, and also has a virtual machine which makes it easier to access the host ports from within a container. With Docker Desktop, this setup will work without additional effort.\n>     - When the docker installation is only Docker Engine, you may need to add either `--net=host` or `--add-host host.docker.internal=host-gateway` to the `docker run` command when starting the ACR container, so that ACR can communicate with the ollama server on the host machine.\n> If you encounter any issue in the tool or experiment, you can contact us via email at ridwan.shariffdeen@sonarsource.com, or through our [discord server](https:\u002F\u002Fdiscord.com\u002Finvite\u002FScXsdE49JY).\n\n## Experiment Replication\n\nPlease refer to [EXPERIMENT.md](EXPERIMENT.md) for information on experiment replication.\n\n## Testing\n\nPlease refer to [TESTING.md](TESTING.md) for information on setting up and running tests.\n\n## ✉️ Contacts\n\nFor any queries, you are welcome to open an issue.\nAlternatively, contact us at acr@sonarsource.com\n\n\n## Acknowledgements\n\nThis work was partially supported by a Singapore Ministry of Education (MoE) Tier 3 grant \"Automated Program Repair\", MOE-MOET32021-0001.\n","AutoCodeRover 是一个面向项目结构的自动化软件工程师工具，旨在实现代码的自主改进。它能够解决 SWE-bench lite 中 37.3% 的任务和 SWE-bench 验证集中 46.2% 的任务，每个任务的成本低于 0.7 美元。该项目使用 Python 开发，并结合了大语言模型（LLMs）与分析调试能力，以优先处理修补位置并最终生成补丁。AutoCodeRover 支持多种运行模式，包括 GitHub 问题和本地问题处理，适用于需要高效、低成本地自动修复代码错误或添加新功能的场景。",2,"2026-06-11 03:41:29","high_star"]