STACKQUADRANT

Multi-file Refactoring Challenge

Code Refactoring

Tests each tool's ability to refactor a 500-line Express.js API from callbacks to async/await across 8 interconnected files while maintaining all 47 existing tests passing.

Methodology

Each tool was given the same starter codebase with callback-based Express routes, middleware, and database queries. Tools were instructed to convert all asynchronous operations to async/await, update error handling to use try/catch, and ensure all tests pass. Scored on: completion percentage, test pass rate, code quality of output, and time taken. Run 3 times per tool, best result used.

ToolCompletion (%)?Higher is betterTests Passing (/47)?Higher is betterTime (min)?Lower is betterCode Quality (/10)?Higher is better
Claude Code98474.29.3
Cursor95466.18.8
Aider92455.58.5
GitHub Copilot85438.38
Devin9044128.2
Windsurf88427.87.9