title: Challenges and Paths Towards AI for Software Engineering
summary: AI for software engineering has made remarkable progress recently, becoming a
  notable success within generative AI. Despite this, there are still many
  challenges that need to be addressed before automated software engineering
  reaches its full potential. It should be possible to reach high levels of
  automation where humans can focus on the critical decisions of what to build
  and how to balance difficult tradeoffs while most routine development effort is
  automated away. Reaching this level of automation will require substantial
  research and engineering efforts across academia and industry. In this paper,
  we aim to discuss progress towards this in a threefold manner. First, we
  provide a structured taxonomy of concrete tasks in AI for software engineering,
  emphasizing the many other tasks in software engineering beyond code generation
  and completion. Second, we outline several key bottlenecks that limit current
  approaches. Finally, we provide an opinionated list of promising research
  directions toward making progress on these bottlenecks, hoping to inspire
  future research in this rapidly maturing field.
paper_authors._id: 67eb322f3d9d1396663d33ef
paper_authors.name: Alex Gu
paper_authors.status: extracted_pending
paper_authors.statusLastChangedAt: 2025-04-01T00:24:16.159Z
paper_authors._id: 6179abf8ec6ce4dc2e5f2376
paper_authors.avatarUrl: /avatars/d10c6a1b350146b36949a24220471295.svg
paper_authors.fullname: Alex Gu
paper_authors.type: user
paper_authors.user: minimario
paper_authors._id: 67eb322f3d9d1396663d33f0
paper_authors.name: Naman Jain
paper_authors._id: 67eb322f3d9d1396663d33f1
paper_authors.name: Wen-Ding Li
paper_authors._id: 67eb322f3d9d1396663d33f2
paper_authors.name: Manish Shetty
paper_authors.status: extracted_confirmed
paper_authors.statusLastChangedAt: 2025-04-01T00:25:05.638Z
paper_authors._id: 637bdc36e073a16fb7886923
paper_authors.avatarUrl: https://cdn-avatars.huggingface.co/v1/production/uploads/637bdc36e073a16fb7886923/jaeT_CK3TdidkrZYado9N.jpeg
paper_authors.fullname: Manish Shetty
paper_authors.type: user
paper_authors.user: manishs
paper_authors._id: 67eb322f3d9d1396663d33f3
paper_authors.name: Yijia Shao
paper_authors._id: 67eb322f3d9d1396663d33f4
paper_authors.name: Ziyang Li
paper_authors._id: 67eb322f3d9d1396663d33f5
paper_authors.name: Diyi Yang
paper_authors._id: 67eb322f3d9d1396663d33f6
paper_authors.name: Kevin Ellis
paper_authors._id: 67eb322f3d9d1396663d33f7
paper_authors.name: Koushik Sen
paper_authors._id: 67eb322f3d9d1396663d33f8
paper_authors.name: Armando Solar-Lezama
paper_title: Challenges and Paths Towards AI for Software Engineering
paper_summary: AI for software engineering has made remarkable progress recently, becoming a
  notable success within generative AI. Despite this, there are still many
  challenges that need to be addressed before automated software engineering
  reaches its full potential. It should be possible to reach high levels of
  automation where humans can focus on the critical decisions of what to build
  and how to balance difficult tradeoffs while most routine development effort is
  automated away. Reaching this level of automation will require substantial
  research and engineering efforts across academia and industry. In this paper,
  we aim to discuss progress towards this in a threefold manner. First, we
  provide a structured taxonomy of concrete tasks in AI for software engineering,
  emphasizing the many other tasks in software engineering beyond code generation
  and completion. Second, we outline several key bottlenecks that limit current
  approaches. Finally, we provide an opinionated list of promising research
  directions toward making progress on these bottlenecks, hoping to inspire
  future research in this rapidly maturing field.