{"id":25089667,"url":"https://github.com/ntt-dkiku/chaos-eater","last_synced_at":"2026-04-02T20:55:30.649Z","repository":{"id":276062645,"uuid":"928079890","full_name":"ntt-dkiku/chaos-eater","owner":"ntt-dkiku","description":"An LLM-based system that fully automates Chaos Engineering (ASE 2025, NIER track)","archived":false,"fork":false,"pushed_at":"2026-03-31T09:13:58.000Z","size":16127,"stargazers_count":26,"open_issues_count":6,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-03-31T11:29:37.633Z","etag":null,"topics":["aiops","chaos-engineering","chaos-mesh","k6","k8s","kubernetes","langchain","large-language-models","llm-agents","llm-application","llm-apps","microservices","software-engineering","sre"],"latest_commit_sha":null,"homepage":"https://ntt-dkiku.github.io/chaos-eater/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ntt-dkiku.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-06T02:55:32.000Z","updated_at":"2026-03-31T09:14:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"2eab9961-aa4f-488c-94cc-d7bc478e0a6d","html_url":"https://github.com/ntt-dkiku/chaos-eater","commit_stats":null,"previous_names":["ntt-dkiku/chaos-eater"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ntt-dkiku/chaos-eater","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntt-dkiku%2Fchaos-eater","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntt-dkiku%2Fchaos-eater/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntt-dkiku%2Fchaos-eater/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntt-dkiku%2Fchaos-eater/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ntt-dkiku","download_url":"https://codeload.github.com/ntt-dkiku/chaos-eater/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ntt-dkiku%2Fchaos-eater/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31316008,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["aiops","chaos-engineering","chaos-mesh","k6","k8s","kubernetes","langchain","large-language-models","llm-agents","llm-application","llm-apps","microservices","software-engineering","sre"],"created_at":"2025-02-07T11:18:20.481Z","updated_at":"2026-04-02T20:55:30.642Z","avatar_url":"https://github.com/ntt-dkiku.png","language":"Python","funding_links":[],"categories":["Chaos Engineering"],"sub_categories":[],"readme":"\u003cp align=\"center\" style=\"text-align:center\"\u003e\n  \u003cimg src=\"./chaos_eater/frontend/public/chaoseater_logo.png#gh-dark-mode-only\" align=\"center\" width=\"600px\"\u003e\n  \u003cimg src=\"./chaos_eater/frontend/public/chaoseater_logo_lightmode.png#gh-light-mode-only\" align=\"center\" width=\"600px\"\u003e\n\u003c/p\u003e\n\n# ChaosEater: Fully Automating Chaos Engineering with Large Language Models (ASE 2025, NIER track)\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://ntt-dkiku.github.io/chaos-eater/\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/project-page-green\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://arxiv.org/abs/2501.11107\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/arXiv-pdf-red\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://conf.researchr.org/home/ase-2025\" target=\"_blank\"\u003e\u003cimg src=\"https://img.shields.io/badge/ASE-2025-blue\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp\u003e\n  This repo is the official implementation of \n  \n  - \u003ca href=\"https://ieeexplore.ieee.org/document/11334278\" target=\"_blank\"\u003eLLM-Powered Fully Automated Chaos Engineering: Towards Enabling Anyone to Build Resilient Software Systems at Low Cost\u003c/a\u003e (ASE 2025 proceedings, \u003ca href=\"https://arxiv.org/abs/2511.07865\" target=\"_blank\"\u003epreprint\u003c/a\u003e)\n  - \u003ca href=\"https://arxiv.org/abs/2501.11107\" target=\"_blank\"\u003eChaosEater: Fully Automating Chaos Engineering with Large Language Models\u003c/a\u003e (extended technical report)\n  \n  ChaosEater is an LLM-based system that ***fully*** automates the Chaos Engineering (CE) cycle in Kubernetes systems.\n  Systematically, a CE cycle consists of four phases: hypothesis, experiment, analysis, and improvement.\n  ChaosEater pre-defines its agentic workflow according to the systematic CE cycle and assigns subdivided operations within the workflow into LLM agents.\n  These LLM agents autonomously complete the CE cycle through several software engineering tasks, such as requirement definition, test planning, and debugging.\n  We hope ChaosEater will serve as a starting point for the full automation of system resilience improvement, which enables ***anyone*** to build resilient systems ***at low cost***.\n  Check also the \u003ca href=\"https://ntt-dkiku.github.io/chaos-eater/\" target=\"_blank\"\u003eproject page\u003c/a\u003e and the \u003ca href=\"https://arxiv.org/abs/2501.11107\" target=\"_blank\"\u003etechnical report\u003c/a\u003e for more details.\n\u003c/p\u003e\n\n\u003e [!WARNING]  \n\u003e This system is an experimental implementation and is not ready for product environments.\n\n\u003cimg src=\"./docs/static/images/chaoseater_arch.png\"\u003e\n\n\n## 🚀 Quick start\n### 0. Requirement\n- Docker: [Official Docker installation guide](https://docs.docker.com/engine/install/ubuntu/)\n- Make: [Official Site](https://www.gnu.org/software/make/) (you can install it on linux with `apt install make` or on macOS with `brew install make`)\n\n### 1. Clone this repository\nClone this repository and navigate into the project directory.\n```\ngit clone https://github.com/ntt-dkiku/chaos-eater.git \u0026\u0026 cd chaos-eater \n```\n\n### 2. Set your API keys in the `.env` file (optional)\nCreate your .env file and add your API keys.\n```\ncp docker/.env.example docker/.env\n```\n\u003e [!TIP]  \n\u003e You can also set API keys from the GUI, so this step can be skipped. \n\u003e However, in that case, you will need to enter the keys every time you open the GUI.\n\u003e If you prefer not to store your API keys in plain text in the .env file, this may be a better option.\n\n### 3. Launch ChaosEater\nWe offer two modes for building the ChaosEater app: `sandbox` and `standard` modes.\n`sandbox` mode containerizes both K8s (kind) clusters and the ChaosEater app. This allows you to easily try out ChaosEater without modifying the host environment.\nIn `standard` mode, K8s (kind) clusters and the ChaosEater app's Docker container are built directly on the host.\nLaunch ChaosEater with either of the following commands:   \n\n`sandbox` mode (🌟 Recommended for local users 🌟)\n```\nmake setup-sandbox\n```\nor \n`standard` mode\n```\nmake setup-standard\n```\n\n\u003e [!WARNING]    \n\u003e `sandbox` mode uses the privileged option, so it should only be used on your local machine or a securely isolated cloud environment.\n\n### 4. Access the ChaosEater GUI from your browser\nAccess `localhost:3000` in your browser, and you can try the ChaosEater GUI in your browser!  \n\n\u003e [!TIP]   \n\u003e If you edit files inside the `chaos_eater` folder, frontend/backend will automatically restart and apply the changes (i.e., hot reloading is supported). You can also force a restart manually with `make reload`.\n\n\u003e [!TIP]  \n\u003e If you are working on a remote server, don't forget to set up port forwarding, e.g., `ssh \u003cremote-server-name\u003e -L 3000:localhost:3000 -L 8000:localhost:8000 -L 2333:localhost:2333`.\n\n### EX1. Stop ChaosEater\nRun the following command to stop ChaosEater:\n```\nmake stop\n```\n\n### EX2. Test ChaosEater (Experimental)\nRun unit tests with the following commands:\n```bash\n# Run backend tests (pytest)\nmake test-backend\n\n# Run a specific test file\nmake test-backend FILE=tests/test_api.py\n\n# Run frontend tests (vitest)\nmake test-frontend\n\n# Run all tests (backend + frontend)\nmake test-all\n```\nTo run integration tests that require API keys, create `docker/.env` with your API keys and set `RUN_INTEGRATION_TESTS=1`.\n\n## 🕹️ GUI usage\n\u003cimg src=\"./docs/static/images/gui_preview.png\"\u003e\n\nThe ChaosEater app provides a Graphical User Interface (GUI) like a chatbot.\nAt a minimum, all you need to do is upload the K8s system files via the file uploader.\nOptionally, you can enter Chaos Engineering instructions in the chat box and control some parameters.  \nThe details of the GUI controls are as follows.  \n\n\u003cdetails\u003e\n\u003csummary\u003e\n(a) LLM setting\n\u003c/summary\u003e\n\n\u003e **⚠️WARNING**  \n\u003e ChaosEater supports GPT, Gemini, Claude, and local LLMs (Ollama). However, Its behavior may be unstable with models other than GPT-4o. We are currently working to improve stability in the other LLMs.\n\nYou may change the LLMs used by ChaosEater from the ```model``` dropdown button.\nPreset LLMs include ```openai/gpt-4o-2024-08-06```,```anthropic/claude-3-5-sonnet-20240620```, ```google/gemini-1.5-pro```, ```ollama/qwen3:32b```. If you want to use a different LLM, select ```custom``` and directly enter your preferred LLM in the popup text box. The format should be provider/model_name.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\n(b) Cluster setting\n\u003c/summary\u003e\n\nCurrently available clusters are listed in the ```Cluster selection``` dropdown button.\nWhen there are multiple kind clusters, you may change the working kind cluster from here.\nWhile the GUI browser is open, the selected cluster will be occupied, and other users will not see the same cluster in the dropdown button.\n\nIf you check ```Clean the cluster before/after run```, all resources in the selected cluster, except for ChaosEater's, will be removed before/after running every single CE cycle.\n\nIf you check ```New deployment```, the input K8s system will be deployed in the preprocessing phase. If it is already deployed, you may uncheck it to skip the deployment.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\n(c) Parameter setting\n\u003c/summary\u003e\n\nYou can control the parameters of the LLM agents for ChaosEater.  \n```Seed for LLMs``` sets the random seed for the LLMs (this is only effective when using OpenAI models that support seed setting, such as GPT-4o).  \n```Temperature for LLMs``` sets the temperature of the LLMs.  \n```Max. number of steady states``` sets the maximum number of steady states proposed during the hypothesis phase.  \n```Max retries``` sets the maximum number of iterations for the verification loop and improvement loop. If the loop exceeds this limit, an assertion error will occur, immediately terminating the app at that point.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\n(d) Token usage\n\u003c/summary\u003e\n\nYou can monitor token usage in real-time. The total cost is calculated based on the official pricing tables as of September 2024.  \n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\n(e) Input examples\n\u003c/summary\u003e\n\nWe prepare three types of input examples.\nWhen you press each button, the content of the K8s manifests to be input and the instructions will be displayed in a dialog.\nClick the ```Try this one``` button for the example you want to try, and a CE cycle will start for that input example.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\n(f) Input box\n\u003c/summary\u003e\n\nYou can try your custom system by inputting its data to the input box.\nFirst, input a zipped folder to the file uploader box following the input format instruction below (this step is mandatory). If you don't have any instructions for the CE cycle, click the ```Submit w/o instructions``` button, and a CE cycle will start for that input system. If you do, write your instructions in the chat box and click the send icon ```▶``` / ```Enter```. Then, a CE cycle that follows the instructions will start for that input system.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\nInput format\n\u003c/summary\u003e\n\nAs input, ChaosEater currently supports only a zipped Skaffold project folder, which involves of a Skaffold configuration file and K8s manifests.\nThe Skaffold configuration file must be placed in the root directory of the folder.\nThe K8s manifests can be placed anywhere, but ensure that their relative paths are correctly specified in the ```manifests``` section of the Skaffold configuration file.\nMore specifically, please refer to our example folders: [nginx](./examples/nginx), [sock shop](./examples/sock-shop-2).\n\u003c/details\u003e\n\n## 💡 Examples (WIP)\n\n### \n\u003cdetails\u003e\n\u003csummary\u003e\n  Case A: Nginx\n\u003c/summary\u003e\n\n#### System description  \nNginx is a small-scale system that consists of two K8s manifests (i.e., two resources): pod.yaml and service.yaml. The former defines a Pod resource including a Nginx container, and the latter defines Service resource routing TCP traffic to the Pod.\nYou can find the manifests at [examples/nginx](./examples/nginx).\n\n#### Problem setting \nTo verify whether ChaosEater can improve the system when there are resiliency issues, we intentionally configure the resource with a non-resilient setting; we set the Pod's restartPolicy to Never in pod.yaml. With this configuration, once the Pod goes down, it will never restart, resulting in extended service outages. we validate whether ChaosEater correctly identifies and addresses this resiliency issue through a reasonable CE cycle.\n\n#### Results  \nGiven the Nginx, ChaosEater defined \"The Pod should be running at least 90% of the time during the check period\" as one of the steady states during the hypothesis phase. It then generated a failure scenario for a cyberattack, where the Pod would go down after a network delay.\nIn the experiment phase, ChaosEater executed the chaos experiment to validate the steady states and successfully discovered that the Pod had not restarted after its failure.\n\nIn the analysis and improvement phases, ChaosEater analyzed the results and identified that the issue was caused by the restartPolicy being set to Never. It then replaced the Pod resource with a Deployment resource with three replicas.\n\nFinally, ChaosEater re-executed the chaos experiment on the reconfigured Nginx and confirmed that the hypothesis was satisfied.\nThe cost and time for this CE cycle were approximately 0.21 USD and 11 minutes, respectively.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\n  Case B: SockShop\n\u003c/summary\u003e\n\n#### System description  \nSockShop is a practical and large-scale e-commerce system that consists of 29 manifests, which define the resources and databases for front-end pages, user information, order, payment, shipping, and so on. The number of replicas of all the Deployment resources is originally set to one. However, this setting could lead to downtime of the single replica when it goes down.\nYou can find the manifests at [examples/sock-shop-2](./examples/sock-shop-2).\n\n#### Problem setting  \nTo narrow down this original resiliency issue to a single point, we increase the replicas for Deployment resources other than front-end-dep.yaml to two, while keeping a single replica for front-end-dep.yaml. This RELATIVELY reduces the redundancy/resiliency of the front-end resource. We validate whether ChaosEater correctly identifies and addresses this resiliency issue through a reasonable CE cycle.\n\n#### Results  \nGiven the SockShop with adjusted replica counts, ChaosEater defined \"front-end resources are always in the Ready state\" as one of the steady states during the hypothesis phase. It then generated a failure scenario for a Black Friday sale, where the front-end resource would go down after an increase in CPU usage of the carts-db resource due to excessive access.\nIn the experiment phase, ChaosEater executed the chaos experiment to validate the steady states and successfully discovered the existence of downtime after the front-end resource failure.\n\nIn the analysis and improvement phases, ChaosEater analyzed the results and identified that the downtime was caused by the replica count of the front-end resource being set to 1. It then increased the replica count of the front-end resource to 2.\n\nFinally, ChaosEater re-executed the chaos experiment on the reconfigured SockShop and confirmed that the hypothesis was satisfied.\nThe cost and time for this CE cycle were approximately 0.84 USD and 25 minutes, respectively.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\n  Case C: OnlineBoutique (WIP)\n\u003c/summary\u003e\n\nComing soon!\n\u003c/details\u003e\n\n## 📊 Evaluation\n\u003e [!WARNING]\n\u003e Due to the nondeterministic nature of commercial LLMs, datasets and evaluation results may vary between runs, even when a seed value is set.\n\n### 1. ASE Paper Evaluation\n#### 1.1. Run experiments\nRun the following command to conduct the same experiments as the ASE paper:\n```bash\nmake eval-ase2025\n```\n\u003e [!NOTE]\n\u003e Our results are already saved in [evaluation/ase2025/results](./evaluation/ase2025/results), so you can skip this step if you only want to reproduce the tables and graphs from the paper.\n\n\u003e [!WARNING]  \n\u003e Since Claude Sonnet 3.5 and Gemini 1.5 Pro, which were used as reviewers in the ASE paper, have been retired, we replace them with Claude Sonnet 4.5 and Gemini 2.5 Pro, respectively.\n\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003cb\u003eOptions\u003c/b\u003e\n\u003c/summary\u003e\n\nBy default, the settings match those used in the paper, but you can customize them using the following options:\n| Option | Default | Description |\n|--------|---------|-------------|\n| `EVAL_MODEL` | `openai/gpt-4o-2024-08-06` | LLM model for ChaosEater |\n| `EVAL_RUNS` | `5` | Number of ChaosEater runs per sample |\n| `EVAL_REVIEWS` | `5` | Number of reviews per reviewer |\n| `EVAL_TEMPERATURE` | `0.0` | LLM temperature |\n| `EVAL_SEED` | `42` | Random seed for LLMs |\n| `EVAL_REVIEWERS` | `all` | Comma-separated reviewers or `all` |\n| `EVAL_OUTPUT_DIR` | `evaluation/ase2025/results` | Output directory for all evaluations |\n| `EVAL_SYSTEMS` | `all` | Systems to evaluate (`nginx`, `sockshop`, or `all`) |\n\u003c/details\u003e\n\n#### 1.2. Reproduce the Tables and Graphs\nAfter the experiments are complete, open Jupyter Lab with:\n```bash\nmake open-jupyter\n```\nThen navigate to [evaluation/ase2025/analyze_evaluation_result.ipynb](./evaluation/ase2025/analyze_evaluation_result.ipynb) to reproduce the tables and graphs.\n\n### 2. Synthetic Data Evaluation (WIP)\n#### 2.1. Gnerate datasets and run experiments\nEvaluate ChaosEater on synthetically generated K8s manifests:\n```bash\nmake eval-synth\n```\n\u003cdetails\u003e\n\u003csummary\u003e\n\u003cb\u003eOptions\u003c/b\u003e\n\u003c/summary\u003e\n\n| Option | Default | Description |\n|--------|---------|-------------|\n| `EVAL_MODEL` | `openai/gpt-4o-2024-08-06` | LLM model for ChaosEater |\n| `EVAL_RUNS` | `5` | Number of ChaosEater runs per sample |\n| `EVAL_REVIEWS` | `5` | Number of reviews per reviewer |\n| `EVAL_TEMPERATURE` | `0.0` | LLM temperature |\n| `EVAL_SEED` | `42` | Random seed for LLMs |\n| `EVAL_REVIEWERS` | `all` | Comma-separated reviewers or `all` |\n| `EVAL_OUTPUT_DIR` | `evaluation/synthetic/results` | Output directory for all evaluations |\n| `SYNTH_DATA_DIR` | `evaluation/synthetic/data` | Directory for synthetic data |\n| `SYNTH_NUM_SAMPLES` | `5` | Number of data samples to generate |\n| `SYNTH_MANIFESTS` | `1 2 3` | Number of K8s manifests per sample |\n| `SYNTH_DATA_TYPE` | `weak` | Dataset type (`normal` or `weak`) |\n| `SYNTH_EXP_TIME` | `1` | CE experiment time limit (minutes) |\n\u003c/details\u003e\n\n#### EX. Generate datasets (optional) \nTo generate synthetic data only (without running ChaosEater or reviews):\n```bash\nmake gen-synth-data\n```\n\n## 🐞 Bug report and questions\nIf you encounter bugs or have any questions, please post [issues](https://github.com/ntt-dkiku/chaos-eater/issues) or [discussions](https://github.com/ntt-dkiku/chaos-eater/discussions) in this repo. New feature requests are also welcome.\n\n## 📄 License\nOur code is licensed by NTT. The use of our code is limited to research purposes. See [LICENSE](./LICENSE.md) for details.\n\n## 🙌 Acknowledgements\nChaosEater is built upon numerous excellent projects. Big thank you to the following projects! (A-Z):\n- LLM:\n  - [Anthropic API](https://www.anthropic.com/api)\n  - [Gemini API](https://ai.google.dev/)\n  - [LangChain](https://github.com/langchain-ai/langchain)\n  - [Ollama](https://github.com/ollama/ollama)\n  - [OpenAI API](https://openai.com/index/openai-api/)\n- K8s/CE tool:\n  - [Chaos Mesh](https://github.com/chaos-mesh/chaos-mesh)\n  - [Docker](https://github.com/docker)\n  - [k6](https://github.com/grafana/k6)\n  - [kind](https://github.com/kubernetes-sigs/kind)\n  - [Kubernetes](https://github.com/kubernetes/kubernetes)\n  - [Skaffold](https://github.com/GoogleContainerTools/skaffold)\n- Application:\n  - [FastAPI](https://github.com/fastapi/fastapi)\n  - [React](https://github.com/facebook/react)\n- All other related projects\n\n## 🤝 Citation\nIf you find this work useful, please cite our paper as follows:\n\nASE 2025 proceeding version:\n```\n@INPROCEEDINGS{11334278,\n    author={Kikuta, Daisuke and Ikeuchi, Hiroki and Tajiri, Kengo},\n    booktitle={2025 40th IEEE/ACM International Conference on Automated Software Engineering (ASE)}, \n    title={LLM-Powered Fully Automated Chaos Engineering: Towards Enabling Anyone to Build Resilient Software Systems at Low Cost}, \n    year={2025},\n    volume={},\n    number={},\n    pages={3861-3865},\n    keywords={Chaos;Costs;Systematics;Large language models;Production;Manuals;Software systems;Planning;Resilience;Software engineering;Large Language Models;AI Agents;AIOps;Chaos Engineering;Failure Management;Software Systems},\n    doi={10.1109/ASE63991.2025.00331}\n}\n```\n\nor extended technical report:\n```\n@misc{dkiku2025chaoseater,\n    title={ChaosEater: Fully Automating Chaos Engineering with Large Language Models}, \n    author={Daisuke Kikuta and Hiroki Ikeuchi and Kengo Tajiri},\n    year={2025},\n    eprint={2501.11107},\n    archivePrefix={arXiv},\n    primaryClass={cs.SE},\n    url={https://arxiv.org/abs/2501.11107}, \n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fntt-dkiku%2Fchaos-eater","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fntt-dkiku%2Fchaos-eater","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fntt-dkiku%2Fchaos-eater/lists"}