{"id":1189333,"date":"2026-10-14T07:34:44","date_gmt":"2026-10-14T14:34:44","guid":{"rendered":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/?post_type=msr-project&#038;p=1189333"},"modified":"2026-10-14T07:49:38","modified_gmt":"2026-10-14T14:49:38","slug":"debug-gym-a-text-based-environment-for-interactive-debugging","status":"publish","type":"msr-project","link":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/project\/debug-gym-a-text-based-environment-for-interactive-debugging\/","title":{"rendered":"debug-gym: A Text-Based Environment for Interactive Debugging"},"content":{"rendered":"<section class=\"mb-3 moray-highlight\">\n\t<div class=\"card-img-overlay mx-lg-0\">\n\t\t<div class=\"card-background  has-background-catalina-blue card-background--full-bleed\">\n\t\t\t\t\t<\/div>\n\t\t<!-- Foreground -->\n\t\t<div class=\"card-foreground d-flex mt-md-n5 my-lg-5 px-g px-lg-0\">\n\t\t\t<!-- Container -->\n\t\t\t<div class=\"container d-flex mt-md-n5 my-lg-5 \">\n\t\t\t\t<!-- Card wrapper -->\n\t\t\t\t<div class=\"w-100 w-lg-col-5\">\n\t\t\t\t\t<!-- Card -->\n\t\t\t\t\t<div class=\"card material-md-card py-5 px-md-5\">\n\t\t\t\t\t\t<div class=\"card-body \">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/lab\/microsoft-research-montreal\/\" class=\"icon-link icon-link--reverse mb-2\" data-bi-cN=\"Microsoft Research Montr\u00e9al\">\n\t\t\t\t\t\t\t\t\t<span class=\"c-glyph glyph-chevron-left\" aria-hidden=\"true\"><\/span>\n\t\t\t\t\t\t\t\t\tMicrosoft Research Montr\u00e9al\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\n<h1 id=\"debug-gym\" class=\"wp-block-heading\">debug-gym<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">A Text-Based Environment for Interactive Debugging<\/p>\n\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/section>\n\n\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"857\" src=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2026\/10\/debug-gym-intro_diagram-scaled.png\" alt=\"debug-gym diagram\" class=\"wp-image-1189378\" style=\"aspect-ratio:2.985440219253169;object-fit:cover;width:660px;height:auto\" srcset=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2026\/10\/debug-gym-intro_diagram-scaled.png 2560w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2026\/10\/debug-gym-intro_diagram-300x100.png 300w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2026\/10\/debug-gym-intro_diagram-765x256.png 765w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2026\/10\/debug-gym-intro_diagram-1024x343.png 1024w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2026\/10\/debug-gym-intro_diagram-1536x514.png 1536w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2026\/10\/debug-gym-intro_diagram-2048x685.png 2048w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2026\/10\/debug-gym-intro_diagram-240x80.png 240w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><\/figure>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-fe48e5de wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button is-style-pill\"><a data-bi-type=\"button\" class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/arxiv.org\/pdf\/2503.21557\" target=\"_blank\" rel=\"noopener\">Paper<\/a><\/div>\n\n\n\n<div class=\"wp-block-button is-style-pill\"><a data-bi-type=\"button\" class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/github.com\/microsoft\/debug-gym\" target=\"_blank\" rel=\"noopener\">Code<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">In most existing approaches (shown in <strong>black<\/strong>), an agent rewrites its code conditioned on error messages obtained from executing its code. <code>debug-gym<\/code> equips the agent with additional tools such as <code>pdb<\/code> (shown in <strong>red<\/strong>), so it can interactively seek necessary information from the semantic space hidden behind the code, and therefore have better code repairing performance.<\/p>\n\n\n\n<h2 id=\"abstract\" class=\"wp-block-heading\">Abstract<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Large Language Models (LLMs) are increasingly relied upon for coding tasks, yet in most scenarios it is assumed that all relevant information can be either accessed in context or matches their training data. We posit that LLMs may benefit from the ability to interactively explore a codebase to gather the information relevant to their task. To achieve this, we present a textual environment, namely <code>debug-gym<\/code>, that can be used to develop LLM agents in an interactive coding setting, bridging the gap between current LLM capabilities and large-scale real-world code generation and debugging requirements. Our environment is lightweight and provides a preset of useful tools, such as a python debugger (<code>pdb<\/code>), designed to facilitate a LLM-based agent\u2019s interactive debugging. Beyond coding and debugging tasks, this approach can be generalized to other tasks that would benefit from information-seeking behavior by an LLM agent.<\/p>\n\n\n\n<h2 id=\"video-demo\" class=\"wp-block-heading\">Video Demo<\/h2>\n\n\n\n<figure class=\"wp-block-image aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/microsoft.github.io\/debug-gym\/static\/images\/debug-bench-demo.gif\" alt=\"Debug-Gym Video Demo\" style=\"aspect-ratio:1.7777437780497756;object-fit:cover;width:660px;height:auto\"\/><\/figure>\n\n\n\n<div style=\"height:25px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 id=\"experiments-mini-nightmare\" class=\"wp-block-heading\">Experiments: Mini Nightmare<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Mini-nightmare is a collection of ten minimal buggy Python scripts that human developers would find easier to debug if provided with interactive debugging tools. For instance, the <code>shopping_cart<\/code> problem, which consists of a simple code snippet that aims to implement a shopping cart class. This specific task was created in Python 2, where the round() function adopts an \u201caway from zero\u201d style. However, in Python 3, where we run the debug-gym experiments in, the behavior has been changed to a \u201cties to even\u201d style. We observe smart debugging traces in trajectories from the agent using Claude 3.7 Sonnet below, showing its use of the pdb tool to test its hypothesis and then import an external library to make sure the rounding is working properly.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/microsoft.github.io\/debug-gym\/static\/images\/shopping_cart_mini_nightmare.png\" alt=\"Mini Nightmare Example\" style=\"aspect-ratio:2.6278175650207314;object-fit:cover;width:660px;height:auto\"\/><\/figure>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n\n<section class=\"my-2 my-lg-4 wp-block-msr-block-library-content-feed\"\tdata-bi-aN=\"content-feed\"\n\tdata-content-feed-endpoint=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/microsoft-research\/v2\/projects\/1189333\/related?format=html&card_style=search&per_page=10&order=desc&type=publication,tool,news,story,article,post,career,event,video&thumbnail_side=left\"\n\tdata-content-feed-page=\"1\"\n\tdata-content-feed-total=\"3\"\n\tdata-content-feed-per-page=\"10\"\n>\n\t\t<div class=\"msr-faceted-search-form__facet-dropdown mt-2 mb-3\">\n\t\t<div class=\"form-inline\">\n\t\t\t<label for=\"content-feed-filter-1\" class=\"d-inline-block mr-g\">\n\t\t\t\tView:\t\t\t<\/label>\n\t\t\t<div class=\"custom-select d-inline-block my-2 w-auto\">\n\t\t\t\t<select\n\t\t\t\t\tclass=\"content-feed__type-filter msr-facet-term__dropdown custom-select-input btn btn-faint-secondary border-transparent\"\n\t\t\t\t\tid=\"content-feed-filter-1\"\n\t\t\t\t>\n\t\t\t\t\t<option value=\"all\">All<\/option>\n\t\t\t\t\t\t\t\t\t\t\t<option value=\"article\">\n\t\t\t\t\t\t\tArticles\t\t\t\t\t\t<\/option>\n\t\t\t\t\t\t\t\t\t\t\t<option value=\"post\">\n\t\t\t\t\t\t\tBlogs & Podcasts\t\t\t\t\t\t<\/option>\n\t\t\t\t\t\t\t\t\t\t\t<option value=\"event\">\n\t\t\t\t\t\t\tEvents\t\t\t\t\t\t<\/option>\n\t\t\t\t\t\t\t\t\t\t\t<option value=\"news\">\n\t\t\t\t\t\t\tIn the News & Awards\t\t\t\t\t\t<\/option>\n\t\t\t\t\t\t\t\t\t\t\t<option value=\"career\">\n\t\t\t\t\t\t\tOpportunities\t\t\t\t\t\t<\/option>\n\t\t\t\t\t\t\t\t\t\t\t<option value=\"publication\">\n\t\t\t\t\t\t\tPublications\t\t\t\t\t\t<\/option>\n\t\t\t\t\t\t\t\t\t\t\t<option value=\"story\">\n\t\t\t\t\t\t\tStories\t\t\t\t\t\t<\/option>\n\t\t\t\t\t\t\t\t\t\t\t<option value=\"tool\">\n\t\t\t\t\t\t\tTools\t\t\t\t\t\t<\/option>\n\t\t\t\t\t\t\t\t\t\t\t<option value=\"video\">\n\t\t\t\t\t\t\tVideos\t\t\t\t\t\t<\/option>\n\t\t\t\t\t\t\t\t\t<\/select>\n\t\t\t\t<span class=\"custom-select-arrow\" aria-hidden=\"true\"><\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n\t\n\t<div class=\"content-feed__list\" aria-live=\"polite\">\n\t\t\t\t\t<div class=\"content-feed__item\">\n\t\t\t\t<article class=\"card card--post\">\n\t<div class=\"row\">\n\t\t<div class=\"col col-12 col-md-8\">\n\t\t\t<div class=\"card-body\">\n\t\t\t\t<span id=\"1136154-asset-type-label\" class=\"card__label d-block pb-2 text-neutral-300 font-weight-semibold text-uppercase small\">\n\t\t\t\t\tMicrosoft Research Blog\t\t\t\t<\/span>\n\t\t\t\t<h3 class=\"card__heading h3 m-0 pb-2\" aria-describedby=\"1136154-asset-type-label\">\n\t\t\t\t\t<a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/blog\/debug-gym-an-environment-for-ai-coding-tools-to-learn-how-to-debug-code-like-programmers\/\" data-bi-cN=\"Debug-gym: an environment for AI coding tools to learn how to debug code like programmers\" class=\"text-decoration-none\" data-bi-id=\"1136154\" data-bi-type=\"blog-post\" data-bi-tN=\"search-result-card\"><span>Debug-gym: an environment for AI coding tools to learn how to debug code like programmers<\/span>&nbsp;<span class=\"glyph-in-link glyph-append glyph-append-chevron-right\" aria-hidden=\"true\"><\/span><\/a>\t\t\t\t<\/h3>\n\t\t\t\t<div class=\"card__meta\">\n\t\t\t\t\t<p class=\"m-0 pb-2\">\n\t\t\t\t\t\t<time class=\"card__date\" datetime=\"2025-04-10\">April 10, 2025<\/time>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span>&nbsp;|&nbsp;<\/span>\n\t\t\t\t\t\t\t<span class=\"card__byline\"><a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/eryua\/\" aria-label=\"Visit the profile page for Eric Yuan\">Eric Yuan<\/a>, <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/mormio.github.io\/\" aria-label=\"Visit the profile page for Morgane Moss\">Morgane Moss<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.linkedin.com\/in\/charbel-feghali-link\" aria-label=\"Visit the profile page for Charbel Feghali\">Charbel Feghali<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/chsingh\/\" aria-label=\"Visit the profile page for Chinmay Singh\">Chinmay Singh<\/a>, <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/dmoldavskaya\/\" aria-label=\"Visit the profile page for Darya Moldavskaya\">Darya Moldavskaya<\/a>, <a class=\"msr-external-link glyph-append glyph-append-open-in-new-tab glyph-append-xsmall\" rel=\"noopener noreferrer\" target=\"_blank\" href=\"https:\/\/www.linkedin.com\/in\/drewmacphee\" aria-label=\"Visit the profile page for Drew MacPhee\">Drew MacPhee<span class=\"sr-only\"> (opens in new tab)<\/span><\/a>, Lucas Caccia, <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/matpereira\/\" aria-label=\"Visit the profile page for Matheus Pereira\">Matheus Pereira<\/a>, <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/minseonkim\/\" aria-label=\"Visit the profile page for Minseon Kim\">Minseon Kim<\/a>, Alessandro Sordoni, <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/macote\/\" aria-label=\"Visit the profile page for Marc-Alexandre C\u00f4t\u00e9\">Marc-Alexandre C\u00f4t\u00e9<\/a><\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/p>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<p>Developers spend a lot of time debugging code. Learn how debug-gym can equip AI agents to help, enabling them to set breakpoints, navigate the codebase, and print runtime variable values on demand, so they better&hellip;<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<div class=\"card__thumbnail col col-12 col-md-4 order-first\">\n\t\t\t\t<a class=\"d-block\" href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/blog\/debug-gym-an-environment-for-ai-coding-tools-to-learn-how-to-debug-code-like-programmers\/\" aria-label=\"Thumbnail for post: \"Debug-gym: an environment for AI coding tools to learn how to debug code like programmers\"\">\n\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"390\" height=\"220\" src=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2025\/04\/NEWDeBug-BlogHeroFeature-1400x788-1.jpg\" class=\"mw-100 wp-post-image\" alt=\"DeBug blog graphic with a line drawing of a computer screen on the left and a magnifying glass with a bug on the right.\" srcset=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2025\/04\/NEWDeBug-BlogHeroFeature-1400x788-1.jpg 2100w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2025\/04\/NEWDeBug-BlogHeroFeature-1400x788-1-300x169.jpg 300w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2025\/04\/NEWDeBug-BlogHeroFeature-1400x788-1-1024x576.jpg 1024w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2025\/04\/NEWDeBug-BlogHeroFeature-1400x788-1-768x432.jpg 768w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2025\/04\/NEWDeBug-BlogHeroFeature-1400x788-1-1536x865.jpg 1536w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2025\/04\/NEWDeBug-BlogHeroFeature-1400x788-1-2048x1153.jpg 2048w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2025\/04\/NEWDeBug-BlogHeroFeature-1400x788-1-1066x600.jpg 1066w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2025\/04\/NEWDeBug-BlogHeroFeature-1400x788-1-655x368.jpg 655w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2025\/04\/NEWDeBug-BlogHeroFeature-1400x788-1-240x135.jpg 240w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2025\/04\/NEWDeBug-BlogHeroFeature-1400x788-1-640x360.jpg 640w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2025\/04\/NEWDeBug-BlogHeroFeature-1400x788-1-960x540.jpg 960w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2025\/04\/NEWDeBug-BlogHeroFeature-1400x788-1-1280x720.jpg 1280w, https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-content\/uploads\/2025\/04\/NEWDeBug-BlogHeroFeature-1400x788-1-1920x1080.jpg 1920w\" sizes=\"auto, (max-width: 390px) 100vw, 390px\" \/>\t\t\t\t<\/a>\n\t\t\t<\/div>\n\t\t\t<\/div>\n<\/article>\n\t\t\t<\/div>\n\t\t\t\t\t<div class=\"content-feed__item\">\n\t\t\t\t<article class=\"card card--publication\">\n\t<div class=\"row\">\n\t\t<div class=\"col col-12\">\n\t\t\t<div class=\"card-body\">\n\t\t\t\t<span id=\"1135961-asset-type-label\" class=\"card__label d-block pb-2 text-neutral-300 font-weight-semibold text-uppercase small\">\n\t\t\t\t\tPublication\t\t\t\t<\/span>\n\t\t\t\t<h3 class=\"card__heading h3 m-0 pb-2\" aria-describedby=\"1135961-asset-type-label\">\n\t\t\t\t\t<a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/publication\/debug-gym-a-text-based-environment-for-interactive-debugging\/\" data-bi-cN=\"debug-gym: A Text-Based Environment for Interactive Debugging\" class=\"text-decoration-none\" data-bi-id=\"1135961\" data-bi-type=\"publication\" data-bi-tN=\"search-result-card\"><span>debug-gym: A Text-Based Environment for Interactive Debugging<\/span>&nbsp;<span class=\"glyph-in-link glyph-append glyph-append-chevron-right\" aria-hidden=\"true\"><\/span><\/a>\t\t\t\t<\/h3>\n\t\t\t\t<div class=\"card__meta pb-2\">\n\t\t\t\t\t\n\t\t\t<p class=\"base m-0 content-excerpt__people\">\n\t\t\t<a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/eryua\/\" aria-label=\"Visit the profile page for Xingdi Yuan\">Xingdi Yuan<\/a>, Morgane M Moss, Charbel Feghali, <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/chsingh\/\" aria-label=\"Visit the profile page for Chinmay Singh\">Chinmay Singh<\/a>, <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/dmoldavskaya\/\" aria-label=\"Visit the profile page for Darya Moldavskaya\">Darya Moldavskaya<\/a>, Drew MacPhee, Lucas Caccia, <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/matpereira\/\" aria-label=\"Visit the profile page for Matheus Pereira\">Matheus Pereira<\/a>, <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/minseonkim\/\" aria-label=\"Visit the profile page for Minseon Kim\">Minseon Kim<\/a>, Alessandro Sordoni, <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/people\/macote\/\" aria-label=\"Visit the profile page for Marc-Alexandre C\u00f4t\u00e9\">Marc-Alexandre C\u00f4t\u00e9<\/a>\t\t<\/p>\n\t\n\t\t\t<p class=\"base m-0 content-excerpt__journal-and-issue\">\n\t\t\t\t\t\t\t\t\t\t\t\t\tMarch 2025\t\t\t\t\t<\/p>\n\t\n\t\n\t\t\t\t\t\t<p class=\"base m-0 content-excerpt__published\">\n\t\t\t\tArXiv\t\t\t\t\t\t\t\t\t|\n\t\t\t\t\tMarch 2025\t\t\t\t\t\t\t<\/p>\n\t\t\t\n\t\n\t\n\t\n\t\t\n\t\t\t\t\t\t\t\t\t\t\t<p class=\"base m-0 content-excerpt__links py-2\" data-bi-aN=\"quick-links\">\n\t\t\t\t\t\t\t<a href=\"https:\/\/labs.ai.azure.com\/projects\/debug-gym\/\" class=\"quick-link__tool glyph-append glyph-append-xsmall glyph-append-chevron-right font-weight-semibold text-decoration-none mr-3\" aria-label=\"Associated access: Debug-Gym\" title=\"Debug-Gym\" data-bi-type=\"tool\" data-bi-cn=\"Debug-Gym\" data-bi-id=\"https:\/\/labs.ai.azure.com\/projects\/debug-gym\/\">\n\t\t\t\t\n<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" fill=\"none\" viewbox=\"0 0 24 24\"><path d=\"M5.25 20.5h13.498a.75.75 0 0 1 .101 1.493l-.101.007H5.25a.75.75 0 0 1-.102-1.494l.102-.006h13.498H5.25Zm6.633-18.498L12 1.995a1 1 0 0 1 .993.883l.007.117v12.59l3.294-3.293a1 1 0 0 1 1.32-.083l.094.084a1 1 0 0 1 .083 1.32l-.083.094-4.997 4.996a1 1 0 0 1-1.32.084l-.094-.083-5.004-4.997a1 1 0 0 1 1.32-1.498l.094.083L11 15.58V2.995a1 1 0 0 1 .883-.993L12 1.995l-.117.007Z\" fill=\"currentColor\" \/><\/svg>\n\n\t\t\t\t<span class=\"quick-link__text\">Access<\/span>\n\t\t\t<\/a> <a href=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/project\/debug-gym-a-text-based-environment-for-interactive-debugging\/\" class=\"quick-link__project glyph-append glyph-append-xsmall glyph-append-chevron-right font-weight-semibold text-decoration-none mr-3\" aria-label=\"Associated project: debug-gym: A Text-Based Environment for Interactive Debugging\" title=\"debug-gym: A Text-Based Environment for Interactive Debugging\" data-bi-type=\"project\" data-bi-cn=\"debug-gym: A Text-Based Environment for Interactive Debugging\" data-bi-id=\"1189333\">\n\t\t\t\t\n<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" fill=\"none\" viewbox=\"0 0 24 24\"><path d=\"M7 12.25a.75.75 0 1 1 1.5 0 .75.75 0 0 1-1.5 0Zm.75 2.25a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM7 18.25a.75.75 0 1 1 1.5 0 .75.75 0 0 1-1.5 0Zm3.75-6.75a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5h-5.5ZM10 15.25a.75.75 0 0 1 .75-.75h5.5a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1-.75-.75Zm.75 2.25a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5h-5.5Zm8.664-9.086-5.829-5.828a.493.493 0 0 0-.049-.04.626.626 0 0 1-.036-.03 2.072 2.072 0 0 0-.219-.18.652.652 0 0 0-.08-.044l-.048-.024-.05-.029c-.054-.031-.109-.063-.166-.087a1.977 1.977 0 0 0-.624-.138c-.02-.001-.04-.004-.059-.007A.605.605 0 0 0 12.172 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9.828a2 2 0 0 0-.586-1.414ZM18.5 20a.5.5 0 0 1-.5.5H6a.5.5 0 0 1-.5-.5V4a.5.5 0 0 1 .5-.5h6V8a2 2 0 0 0 2 2h4.5v10Zm-5-15.379L17.378 8.5H14a.5.5 0 0 1-.5-.5V4.621Z\" fill=\"currentColor\" \/><\/svg>\n\n\t\t\t\t<span class=\"quick-link__text\">Project<\/span>\n\t\t\t<\/a>\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/article>\n\t\t\t<\/div>\n\t\t\t\t\t<div class=\"content-feed__item\">\n\t\t\t\t\n<article class=\"card card--tool\" itemscope itemtype=\"https:\/\/schema.org\/SoftwareApplication\">\n\t<div class=\"row\">\n\t\t<div class=\"col\">\n\t\t\t<div class=\"card-body\">\n\t\t\t\t<span id=\"1140978-asset-type-label\" class=\"card__label d-block pb-2 text-neutral-300 font-weight-semibold text-uppercase small\">\n\t\t\t\t\tTool\t\t\t\t<\/span>\n\n\t\t\t\t<h3 class=\"card__heading h3 m-0 pb-2\" aria-describedby=\"1140978-asset-type-label\">\n\t\t\t\t\t<span itemprop=\"name\">\n\t\t\t\t\t\t<a href=\"https:\/\/labs.ai.azure.com\/projects\/debug-gym\/\" data-bi-cN=\"Debug-Gym\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"text-decoration-none\" data-bi-id=\"1140978\" data-bi-type=\"tool\" data-bi-tN=\"search-result-card\"><span>Debug-Gym<\/span>&nbsp;<span class=\"glyph-in-link glyph-append glyph-append-open-in-new-tab\" aria-hidden=\"true\"><\/span><\/a>\t\t\t\t\t<\/span>\n\t\t\t\t<\/h3>\n\n\t\t\t\t\t\t\t\t\t<div itemprop=\"description\">\n\t\t\t\t\t\t<p>debug-gym is a text-based interactive debugging framework, designed for debugging Python programs.<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t\t\t\t\t<meta itemprop=\"applicationCategory\" content=\"DeveloperApplication\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<meta itemprop=\"license\" content=\"Open Source - MIT License\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<meta itemprop=\"programmingLanguage\" content=\"Python\">\n\t\t\t\t\t\t\t\t<meta itemprop=\"url\" content=\"https:\/\/labs.ai.azure.com\/projects\/debug-gym\/\">\n\t\t\t\t\t\t\t\t\t<meta itemprop=\"installUrl\" content=\"https:\/\/labs.ai.azure.com\/projects\/debug-gym\/\">\n\t\t\t\t\t\t\t\t<meta itemprop=\"datePublished\" content=\"2025-01-10T14:14:25-08:00\">\n\t\t\t\t<meta itemprop=\"dateModified\" content=\"2025-12-04T22:55:45-08:00\">\n\t\t\t\t<span itemprop=\"author\" itemscope itemtype=\"https:\/\/schema.org\/Organization\">\n\t\t\t\t\t<meta itemprop=\"name\" content=\"Microsoft Research\">\n\t\t\t\t\t<meta itemprop=\"url\" content=\"https:\/\/cm-edgetun.pages.dev\/research\">\n\t\t\t\t<\/span>\n\t\t\t\t<span itemprop=\"offers\" itemscope itemtype=\"https:\/\/schema.org\/Offer\">\n\t\t\t\t\t<meta itemprop=\"price\" content=\"0\">\n\t\t\t\t\t<meta itemprop=\"priceCurrency\" content=\"USD\">\n\t\t\t\t<\/span>\n\n\t\t\t\t<p class=\"base m-0 content-excerpt__links py-2\" data-bi-aN=\"quick-links\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"https:\/\/labs.ai.azure.com\/projects\/debug-gym\/\"\n\t\t\t\t\t\t\t\tclass=\"font-weight-semibold text-decoration-none glyph-append glyph-append-xsmall glyph-append-chevron-right mr-3\"\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\tdata-bi-cN=\"Access\"\n\t\t\t\t\t\t\t\tdata-bi-id=\"1140978\"\n\t\t\t\t\t\t\t\tdata-bi-type=\"tool\"\n\t\t\t\t\t\t\t\tdata-bi-tN=\"search-result-card-tool-glyph\"\n\t\t\t\t\t\t\t\titemprop=\"downloadUrl\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" fill=\"none\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M5.25 20.5h13.498a.75.75 0 0 1 .101 1.493l-.101.007H5.25a.75.75 0 0 1-.102-1.494l.102-.006h13.498H5.25Zm6.633-18.498L12 1.995a1 1 0 0 1 .993.883l.007.117v12.59l3.294-3.293a1 1 0 0 1 1.32-.083l.094.084a1 1 0 0 1 .083 1.32l-.083.094-4.997 4.996a1 1 0 0 1-1.32.084l-.094-.083-5.004-4.997a1 1 0 0 1 1.32-1.498l.094.083L11 15.58V2.995a1 1 0 0 1 .883-.993L12 1.995l-.117.007Z\" fill=\"currentColor\" \/><\/svg>\n\t\t\t\t\t\t\t\t<span class=\"\">Access<\/span>\n\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref=\"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/publication\/debug-gym-a-text-based-environment-for-interactive-debugging\/\"\n\t\t\t\t\t\t\tclass=\"font-weight-semibold text-decoration-none glyph-append glyph-append-xsmall glyph-append-chevron-right mr-3\"\n\t\t\t\t\t\t\tdata-bi-cN=\"debug-gym: A Text-Based Environment for Interactive Debugging\"\n\t\t\t\t\t\t\tdata-bi-id=\"1135961\"\n\t\t\t\t\t\t\tdata-bi-type=\"publication\"\n\t\t\t\t\t\t\taria-label=\"Associated publication: debug-gym: A Text-Based Environment for Interactive Debugging\"\n\t\t\t\t\t\t\ttitle=\"debug-gym: A Text-Based Environment for Interactive Debugging\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\n<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"24\" height=\"24\" fill=\"none\" viewbox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M7 12.25a.75.75 0 1 1 1.5 0 .75.75 0 0 1-1.5 0Zm.75 2.25a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM7 18.25a.75.75 0 1 1 1.5 0 .75.75 0 0 1-1.5 0Zm3.75-6.75a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5h-5.5ZM10 15.25a.75.75 0 0 1 .75-.75h5.5a.75.75 0 0 1 0 1.5h-5.5a.75.75 0 0 1-.75-.75Zm.75 2.25a.75.75 0 0 0 0 1.5h5.5a.75.75 0 0 0 0-1.5h-5.5Zm8.664-9.086-5.829-5.828a.493.493 0 0 0-.049-.04.626.626 0 0 1-.036-.03 2.072 2.072 0 0 0-.219-.18.652.652 0 0 0-.08-.044l-.048-.024-.05-.029c-.054-.031-.109-.063-.166-.087a1.977 1.977 0 0 0-.624-.138c-.02-.001-.04-.004-.059-.007A.605.605 0 0 0 12.172 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9.828a2 2 0 0 0-.586-1.414ZM18.5 20a.5.5 0 0 1-.5.5H6a.5.5 0 0 1-.5-.5V4a.5.5 0 0 1 .5-.5h6V8a2 2 0 0 0 2 2h4.5v10Zm-5-15.379L17.378 8.5H14a.5.5 0 0 1-.5-.5V4.621Z\" fill=\"currentColor\" \/><\/svg>\n\t\t\t\t\t\t\t<span class=\"\">Publication<\/span>\n\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/p>\n\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/article>\n\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\n\t<\/section>\n\n\n","protected":false},"excerpt":{"rendered":"<p>A Text-Based Environment for Interactive Debugging In most existing approaches (shown in black), an agent rewrites its code conditioned on error messages obtained from executing its code. debug-gym equips the agent with additional tools such as pdb (shown in red), so it can interactively seek necessary information from the semantic space hidden behind the code, [&hellip;]<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"_classifai_error":"","footnotes":""},"research-area":[13556,13560],"msr-locale":[268875],"msr-impact-theme":[],"msr-pillar":[],"class_list":["post-1189333","msr-project","type-msr-project","status-publish","hentry","msr-research-area-artificial-intelligence","msr-research-area-programming-languages-software-engineering","msr-locale-en_us","msr-archive-status-active"],"msr_project_start":"","related-publications":[1135961],"related-downloads":[],"related-videos":[],"related-groups":[863034,896463,1148823,1148827],"related-events":[],"related-opportunities":[],"related-posts":[1136154],"related-articles":[],"tab-content":[],"related-researchers":[{"type":"user_nicename","display_name":"Marc-Alexandre C\u00f4t\u00e9","user_id":37197,"people_section":"Section name 0","alias":"macote"},{"type":"user_nicename","display_name":"Minseon Kim","user_id":43620,"people_section":"Section name 0","alias":"minseonkim"},{"type":"user_nicename","display_name":"Darya Moldavskaya","user_id":43569,"people_section":"Section name 0","alias":"dmoldavskaya"},{"type":"user_nicename","display_name":"Matheus Pereira","user_id":42417,"people_section":"Section name 0","alias":"matpereira"},{"type":"user_nicename","display_name":"Chinmay Singh","user_id":36750,"people_section":"Section name 0","alias":"chsingh"},{"type":"user_nicename","display_name":"Eric Yuan","user_id":37167,"people_section":"Section name 0","alias":"eryua"}],"msr_research_lab":[437514,1148609],"msr_impact_theme":[],"_links":{"self":[{"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/1189333","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/msr-project"}],"about":[{"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/types\/msr-project"}],"version-history":[{"count":16,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/1189333\/revisions"}],"predecessor-version":[{"id":1189694,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/msr-project\/1189333\/revisions\/1189694"}],"wp:attachment":[{"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/media?parent=1189333"}],"wp:term":[{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=1189333"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=1189333"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=1189333"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/cm-edgetun.pages.dev\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=1189333"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}