{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/you-name-it-i-run-it-an-llm-agent-to-execute","title":"You Name It, I Run It: An LLM Agent to Execute Tests of Arbitrary Projects","arxiv_id":"2412.10133","date":"2024-12-13","proceeding":null,"authors":["Islem Bouzenia","Michael Pradel"],"abstract":"The ability to execute the test suite of a project is essential in many scenarios, e.g., to assess code quality and code coverage, to validate code changes made by developers or automated tools, and to ensure compatibility with dependencies. Despite its importance, executing the test suite of a project can be challenging in practice because different projects use different programming languages, software ecosystems, build systems, testing frameworks, and other tools. These challenges make it difficult to create a reliable, universal test execution method that works across different projects. This paper presents ExecutionAgent, an automated technique that prepares scripts for building an arbitrary project from source code and running its test cases. Inspired by the way a human developer would address this task, our approach is a large language model (LLM)-based agent that autonomously executes commands and interacts with the host system. The agent uses meta-prompting to gather guidelines on the latest technologies related to the given project, and it iteratively refines its process based on feedback from the previous steps. Our evaluation applies ExecutionAgent to 50 open-source projects that use 14 different programming languages and many different build and testing tools. The approach successfully executes the test suites of 33/50 projects, while matching the test results of ground truth test suite executions with a deviation of only 7.5%. These results improve over the best previously available technique by 6.6x. The costs imposed by the approach are reasonable, with an execution time of 74 minutes and LLM costs of USD 0.16, on average per project. We envision ExecutionAgent to serve as a valuable tool for developers, automated programming tools, and researchers that need to execute tests across a wide variety of projects.","url_abs":"https://arxiv.org/abs/2412.10133v2","url_pdf":"https://arxiv.org/pdf/2412.10133v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"you-name-it-i-run-it-an-llm-agent-to-execute","repo_url":"https://github.com/sola-st/executionagent","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[{"task_slug":"large-language-model","task_name":"Large Language Model"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2412.10133","atlas_url":"https://app.syntology.ai/?focus=2412.10133","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2412.10133"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/sola-st/executionagent","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"unverified":8},"by_repo_kind":{"official":{"samples":8,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":8,"samples":[{"code_sha256_prefix":"1e62e7b69944773b","entry":"apply_commit_override","repo":"sola-st/executionagent","repo_kind":"official","path":"launcher.py","file_url":"https://github.com/sola-st/executionagent/blob/HEAD/launcher.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"1e62e7b69944773b"}},{"code_sha256_prefix":"0cd36acea4a05704","entry":"clone_error_hint","repo":"sola-st/executionagent","repo_kind":"official","path":"src/execution_agent/context.py","file_url":"https://github.com/sola-st/executionagent/blob/HEAD/src/execution_agent/context.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"0cd36acea4a05704"}},{"code_sha256_prefix":"150e6d77b2592c47","entry":"clone_error_is_transient","repo":"sola-st/executionagent","repo_kind":"official","path":"src/execution_agent/context.py","file_url":"https://github.com/sola-st/executionagent/blob/HEAD/src/execution_agent/context.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"150e6d77b2592c47"}},{"code_sha256_prefix":"b4a1dfe68371e39b","entry":"create_metadata_file","repo":"sola-st/executionagent","repo_kind":"official","path":"launcher.py","file_url":"https://github.com/sola-st/executionagent/blob/HEAD/launcher.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"b4a1dfe68371e39b"}},{"code_sha256_prefix":"2122d38c03f62471","entry":"create_state_persistence","repo":"sola-st/executionagent","repo_kind":"official","path":"src/execution_agent/state_persistence.py","file_url":"https://github.com/sola-st/executionagent/blob/HEAD/src/execution_agent/state_persistence.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"2122d38c03f62471"}},{"code_sha256_prefix":"38f8fac266c95caa","entry":"is_repetition","repo":"sola-st/executionagent","repo_kind":"official","path":"src/execution_agent/repetition.py","file_url":"https://github.com/sola-st/executionagent/blob/HEAD/src/execution_agent/repetition.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"38f8fac266c95caa"}},{"code_sha256_prefix":"5729d7074559b944","entry":"load_projects_file","repo":"sola-st/executionagent","repo_kind":"official","path":"launcher.py","file_url":"https://github.com/sola-st/executionagent/blob/HEAD/launcher.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"5729d7074559b944"}},{"code_sha256_prefix":"b29b9f236065d141","entry":"timed_tool","repo":"sola-st/executionagent","repo_kind":"official","path":"src/execution_agent/shared_utils.py","file_url":"https://github.com/sola-st/executionagent/blob/HEAD/src/execution_agent/shared_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"b29b9f236065d141"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}