CUA-SWE: When Computer-Use Agents Meet Visual Software Engineering
Organizations: Carnegie Mellon University · University of Southern California · University of Wisconsin–Madison · Arizona State University ·
Abstract
Software development requires more than editing code: developers repeatedly run software, interact with its interfaces, visually inspect its behavior, and use these observations to decide what to change next and whether a change works. Existing coding agents and computer-use agents are largely studied in isolation, leaving this integrated development process underexplored. Diagnosing a runtime interaction failure requires agents to connect visual observations with the responsible code, then use the application again to verify the repair. We introduce CUA-SWE, a benchmark, environment, and evaluation pipeline for software engineering with computer use. Beyond studying how GUI feedback supports diagnosis and repair, we ask whether agents can complete software engineering tasks when required specification or operational information is available only through the running application's visual interface. CUA-SWE spans four software engineering domains and requires agents to modify code and configuration, execute commands, interact with running software, and inspect visual feedback within the same task. Each task includes deterministic, task-specific tests that verify whether the resulting software satisfies the requirements and preserves specified behavior. Our evaluation characterizes how frontier agents combine source-level execution with application screenshots and graphical interaction to produce verified software changes. We examine performance across domains and task information requirements, alongside the development behaviors associated with successful repairs. CUA-SWE provides a unified testbed for studying how agents use visual feedback and interaction to guide software engineering, with executable correctness criteria for the resulting software.
Figures & tables
| Web | Game | DevOps | Mobile | |||||
|---|---|---|---|---|---|---|---|---|
| Model | Code | Hybrid CUA | Code | Hybrid CUA | Code | Hybrid CUA | Code | Hybrid CUA |
| GPT-6-Astra | 27.8 | 66.7 | 17.2 | 37.9 | 0.0 | 80.0 | 0.0 | 55.0 |
| GPT-5.6-Sol | 19.4 | 58.3 | 10.3 | 10.3 | 0.0 | 55.0 | 0.0 | 45.0 |
| Claude-Opus-5 | 22.2 | 55.6 | 13.8 | 20.7 | 0.0 | 60.0 | — | — |
| Claude-Opus-4.8 | 16.7 | 27.8 | 3.4 | 20.7 | 0.0 | 55.0 | 0.0 | 40.0 |
| Claude-Sonnet-5 | 8.3 | 0.0 | 6.9 | 3.4 | 0.0 | 40.0 | 0.0 | 35.0 |
Appendix figures & tables41 assets
Supplementary material from the paper’s appendix.
Appendix
| Domain | Task | Type | Specification basis |
|---|---|---|---|
| Web | MapLibre reset touch reacquisition | S | The instruction specifies pointer attachment and preservation of navigation. |
| Web | Fabric opposite-edge resize | S | Readable Help in index.html specifies the resize and selection contract. |
| Web | ECharts linked data-zoom toolbar | S | The instruction specifies corresponding chart ranges; source exposes range-mapping strategies. |
| Web | Fabric viewport rotation controls | S | The instruction specifies frame, handle, and zoom agreement under camera transforms. |
| Web | JupyterLab Shift-click cell selection | S | The instruction distinguishes cell-range selection from extension of text selection. |
| Web | Fabric through-edge resize with nested camera | S | Readable Help in index.html specifies the resize and selection contract. |
| Supervised action | Copies per task | Screenshots in context |
|---|---|---|
| Start browser | 2 | 0 |
| Apply gold patch | 32 | 1 |
| Validate repair | 4 | 1 |
| Wait and observe | 2 | 1 |
| Finish episode | 4 | 2 |
| Total | 44 | — |
| Domain | GPT-6- Astra | GPT-5.6- Sol | Claude- Fable-5 |
|---|---|---|---|
| Web | 66.7 / 75.0 | 58.3 / 58.3 | 47.2 / 61.1 |
| Game | 37.9 / 62.1 | 10.3 / 31.0 | 17.2 / 41.4 |
| DevOps | 80.0 / 90.0 | 55.0 / 60.0 | 55.0 / 70.0 |
| Mobile | 55.0 / 60.0 | 45.0 / 50.0 | 40.0 / 40.0 |
| Domain | Model | Mean of three | Pass@2 | Pass@3 | Diff. (pp) |
|---|---|---|---|---|---|
| Web | GPT-6-Astra | 67.6 | 72.2 | 75.0 | +7.4 |
| GPT-5.6-Sol | 52.8 | 57.4 | 58.3 | +5.6 | |
| Claude-Fable-5 | 52.8 | 59.3 | 61.1 | +8.3 | |
| Game | GPT-6-Astra | 50.6 | 59.8 | 62.1 | +11.5 |
| GPT-5.6-Sol | 20.7 | 29.9 | 31.0 | +10.3 | |
| Claude-Fable-5 | 27.6 | 36.8 | 41.4 | +13.8 |
| Domain | Model | 0 successes | 1 success | 2 successes | 3 successes |
|---|---|---|---|---|---|
| Web | GPT-6-Astra | 25.0 | 8.3 | 5.6 | 61.1 |
| GPT-5.6-Sol | 41.7 | 2.8 | 11.1 | 44.4 | |
| Claude-Fable-5 | 38.9 | 5.6 | 13.9 | 41.7 | |
| Game | GPT-6-Astra | 37.9 | 6.9 | 20.7 | 34.5 |
| GPT-5.6-Sol | 69.0 | 3.4 | 24.1 | 3.4 | |
| Claude-Fable-5 | 58.6 | 13.8 | 13.8 | 13.8 |
| Domain | Compared with | Measure | Difference | Task 95% CI | Family 95% CI |
|---|---|---|---|---|---|
| Web | GPT-5.6-Sol | Mean of three | +14.8 | [3.7, 25.9] | [-1.3, 33.3] |
| GPT-5.6-Sol | Pass@3 | +16.7 | [2.8, 30.6] | [-6.7, 42.9] | |
| Claude-Fable-5 | Mean of three | +14.8 | [3.7, 25.9] | [0.0, 32.5] | |
| Claude-Fable-5 | Pass@3 | +13.9 | [0.0, 27.8] | [-4.3, 33.3] | |
| Game | GPT-5.6-Sol | Mean of three | +29.9 | [17.2, 43.7] | [15.3, 47.2] |
| GPT-5.6-Sol | Pass@3 | +31.0 | [13.8, 48.3] | [11.5, 50.0] |
| Web | Game | DevOps | Mobile | |||||
| Model / system | Code | Hybrid CUA | Code | Hybrid CUA | Code | Hybrid CUA | Code | Hybrid CUA |
| GPT-6-Astra | 27.8 | 66.7 | 17.2 | 37.9 | 0.0 | 80.0 | 0.0 | 55.0 |
| GPT-5.6-Sol | 19.4 | 58.3 | 10.3 | 10.3 | 0.0 | 55.0 | 0.0 | 45.0 |
| GPT-5.6-Luna | 11.1 | 5.6 | 0.0 | 6.9 | 0.0 | 15.0 | 0.0 | 35.0 |
| GPT-5.6-Terra | 11.1 | 13.9 | 3.4 | 6.9 | 0.0 | 25.0 | 0.0 | 35.0 |
| Claude-Opus-5 | 22.2 | 55.6 | 13.8 | 20.7 | 0.0 | 60.0 | — | — |
| Domain | Type | Tasks | Code-only | Hybrid CUA | (pp) |
|---|---|---|---|---|---|
| Web | S | 22 | 23.9 | 23.9 | +0.0 |
| Web | M | 14 | 8.9 | 50.9 | +42.0 |
| Game | S | 20 | 10.6 | 10.0 | -0.6 |
| Game | M | 9 | 2.8 | 26.4 | +23.6 |
| DevOps | M | 20 | 0.6 | 48.8 | +48.1 |
| Mobile | M | 20 | 0.6 | 39.4 | +38.8 |
| Type | Model | Code-only | Hybrid CUA | ||
|---|---|---|---|---|---|
| Web | |||||
| S | GPT-6-Astra | 22 | 27.3 | 54.5 | +27.3 |
| S | GPT-5.6-Sol | 22 | 27.3 | 36.4 | +9.1 |
| S | GPT-5.6-Luna | 22 | 13.6 | 4.5 | -9.1 |
| S | GPT-5.6-Terra | 22 | 18.2 | 13.6 | -4.5 |
| S | Claude-Opus-5 | 22 | 27.3 | 31.8 | +4.5 |
| Code-only | Hybrid CUA | |||||
|---|---|---|---|---|---|---|
| Model / system | Patch | Task | Patch | Task | ||
| Web ( ) | ||||||
| GPT-6-Astra | 27.8 | 27.8 | 0.0 | 66.7 | 66.7 | 0.0 |
| GPT-5.6-Sol | 19.4 | 19.4 | 0.0 | 58.3 | 58.3 | 0.0 |
| GPT-5.6-Luna | 11.1 | 11.1 | 0.0 | 13.9 | 5.6 | 8.3 |
| GPT-5.6-Terra | 11.1 | 11.1 | 0.0 | 13.9 | 13.9 | 0.0 |
| Domain | Condition | O | Perc | D | I | V | |
|---|---|---|---|---|---|---|---|
| Web | Code-only | 18 | 18/0/0 | 0/18/0 | 2/14/2 | 5/0/13 | 18/0/0 |
| Web | Hybrid | 22 | 16/6/0 | 6/13/3 | 6/8/8 | 12/3/7 | 21/1/0 |
| Game | Code-only | 18 | 18/0/0 | 0/16/2 | 3/13/2 | 16/0/2 | 18/0/0 |
| Game | Hybrid | 22 | 15/7/0 | 6/12/4 | 7/9/6 | 21/0/1 | 22/0/0 |
| DevOps | Code-only | 18 | 18/0/0 | 1/16/1 | 14/0/4 | 16/0/2 | 18/0/0 |
| DevOps | Hybrid | 22 | 13/8/1 | 6/12/4 | 1/17/4 | 15/0/7 | 22/0/0 |
| Model / system | Condition | O | Perc | D | I | V | |
|---|---|---|---|---|---|---|---|
| Web | |||||||
| GPT-6-Astra | Code-only | 2 | 2/0 | 0/0 | 0/0 | 1/1 | 2/0 |
| GPT-6-Astra | Hybrid | 2 | 2/0 | 0/0 | 0/1 | 1/1 | 2/0 |
| GPT-5.6-Sol | Code-only | 2 | 2/0 | 0/0 | 0/0 | 0/2 | 2/0 |
| GPT-5.6-Sol | Hybrid | 2 | 2/0 | 0/0 | 1/0 | 0/2 | 2/0 |
| GPT-5.6-Luna | Code-only | 2 | 2/0 | 0/0 | 0/1 | 0/2 | 2/0 |
| Domain | Condition | Before edit Y/N/U | No runtime information | No GUI observation | |
|---|---|---|---|---|---|
| Web | Code-only | 27/27 | 0/27/0 | 21 | 27 |
| Web | Hybrid | 32/32 | 19/13/0 | 0 | 4 |
| Game | Code-only | 26/24 | 0/24/0 | 13 | 24 |
| Game | Hybrid | 33/31 | 14/16/1 | 0 | 2 |
| DevOps | Code-only | 19/18 | 1/17/0 | 3 | 18 |
| DevOps | Hybrid | 33/32 | 32/0/0 | 0 | 0 |
| Task success (%) | Patch correctness (%) | |||||
|---|---|---|---|---|---|---|
| Domain | GUI check | Y/N/U | Y | N | Y | N |
| Web | Post-edit | 27/5/0 | 47.6 | 6.9 | 61.2 | 6.9 |
| Web | Final-edit | 24/7/1 | 45.8 | 5.7 | 61.3 | 5.7 |
| Game | Post-edit | 10/9/12 | 16.6 | 9.3 | 16.6 | 9.3 |
| Game | Final-edit | 7/11/13 | 16.6 | 12.8 | 16.6 | 12.8 |
| DevOps | Post-edit | 23/9/0 | 68.1 | 5.9 | 68.1 | 5.9 |
| Image deliveries | GUI actions | ||||
|---|---|---|---|---|---|
| Model / system | (S/F) | S | F | S | F |
| Web | |||||
| GPT-6-Astra | 24/12 | 7.5 [6, 16.8] | 19 [14, 26.5] | 6 [4, 15.5] | 17.5 [12.2, 25.2] |
| GPT-5.6-Sol | 21/15 | 7 [5, 10] | 13 [9.5, 18] | 6 [4, 8] | 12 [8.5, 17] |
| GPT-5.6-Luna | 2/34 | 4 [3.5, 4.5] | 2.5 [1, 3] | 3.5 [3.2, 3.8] | 3.5 [1, 7] |
| GPT-5.6-Terra | 5/31 | 4 [2, 4] | 2 [1, 4.5] | 3 [2, 4] | 3 [1, 5] |
| Domain | Model | Task C/H | Patch C/H | Hybrid wins/losses | ||
|---|---|---|---|---|---|---|
| Web | GPT-5.6-Luna | 36 | 4 / 2 | 4 / 5 | 0 / 2 | 3 |
| Web | Claude-Sonnet-5 | 36 | 3 / 0 | 3 / 18 | 0 / 3 | 18 |
| Game | Claude-Sonnet-5 | 29 | 2 / 1 | 2 / 3 | 1 / 2 | 2 |
| Annotation | Agreement | (%) | |
|---|---|---|---|
| Editing before relevant observation | 31/32 | 96.9 | 0.939 |
| Relevant GUI behavior observed at any point | 32/32 | 100.0 | 1.000 |
| Final-edit GUI re-verification | 28/32 | 87.5 | 0.771 |
| Post-edit GUI re-verification | 28/32 | 87.5 | 0.775 |
| Relevant observation before first edit | 29/32 | 90.6 | 0.819 |
| Relevant runtime information observed | 32/32 | 100.0 | 1.000 |
Computer-Use Agent Benchmarks
Computer-use agent benchmarks test whether AI systems can operate graphical interfaces, terminals, and applications reliably, safely, and efficiently.
See all 120 papers