MSR 2025
Mon 28 - Tue 29 April 2025 Ottawa, Ontario, Canada
co-located with ICSE 2025

Software is one of the most powerful tools that we humans have at our disposal; it allows a skilled programmer to interact with the world in complex and profound ways. However, at the same time software systems are complex, fragile, and even dangerous. Can we develop AI agents that help us develop real-world software, particularly in the context of real-world software development tasks in large software repositories, in all their complexity? In this tutorial I will discuss the state-of-the-art in software development agents, including challenges with respect to identifying which files to edit, how to edit them, how to test edits and recover, and how to train and evaluate models. In addition, I will address some challenges beyond simple writing code, such as how to process multimodal data, how to combine web browsing with coding, and how to perform data science tasks with software development models. I will provide examples from OpenHands, an open-source toolkit that implements many of the methods that I discuss: https://github.com/All-Hands-AI/OpenHands