rethinking software engineering
Rethinking Software Engineering in the Foundation Model Era: From Task-Driven AI Copilots to Goal-Driven AI Pair Programmers
Hassan, Ahmed E., Oliva, Gustavo A., Lin, Dayi, Chen, Boyuan, Ming, Zhen, Jiang, null
The advent of Foundation Models (FMs) and AI-powered copilots has transformed the landscape of software development, offering unprecedented code completion capabilities and enhancing developer productivity. However, the current task-driven nature of these copilots falls short in addressing the broader goals and complexities inherent in software engineering (SE). In this paper, we propose a paradigm shift towards goal-driven AI-powered pair programmers that collaborate with human developers in a more holistic and context-aware manner. We envision AI pair programmers that are goal-driven, human partners, SE-aware, and self-learning. These AI partners engage in iterative, conversation-driven development processes, aligning closely with human goals and facilitating informed decision-making. We discuss the desired attributes of such AI pair programmers and outline key challenges that must be addressed to realize this vision. Ultimately, our work represents a shift from AI-augmented SE to AI-transformed SE by replacing code completion with a collaborative partnership between humans and AI that enhances both productivity and software quality.
Rethinking Software Engineering in the Foundation Model Era: A Curated Catalogue of Challenges in the Development of Trustworthy FMware
Hassan, Ahmed E., Lin, Dayi, Rajbahadur, Gopi Krishnan, Gallaba, Keheliya, Cogo, Filipe R., Chen, Boyuan, Zhang, Haoxiang, Thangarajah, Kishanthan, Oliva, Gustavo Ansaldi, Lin, Jiahuei, Abdullah, Wali Mohammad, Jiang, Zhen Ming
Foundation models (FMs), such as Large Language Models (LLMs), have revolutionized software development by enabling new use cases and business models. We refer to software built using FMs as FMware. The unique properties of FMware (e.g., prompts, agents, and the need for orchestration), coupled with the intrinsic limitations of FMs (e.g., hallucination) lead to a completely new set of software engineering challenges. Based on our industrial experience, we identified 10 key SE4FMware challenges that have caused enterprise FMware development to be unproductive, costly, and risky. In this paper, we discuss these challenges in detail and state the path for innovation that we envision. Next, we present FMArts, which is our long-term effort towards creating a cradle-to-grave platform for the engineering of trustworthy FMware. Finally, we (i) show how the unique properties of FMArts enabled us to design and develop a complex FMware for a large customer in a timely manner and (ii) discuss the lessons that we learned in doing so. We hope that the disclosure of the aforementioned challenges and our associated efforts to tackle them will not only raise awareness but also promote deeper and further discussions, knowledge sharing, and innovative solutions across the software engineering discipline.
Rethinking software engineering in the AI era
Yangqing Jia is director of engineering for Facebook's AI platform team, which develops general-purpose open source AI solutions that serve as the backbone of Facebook AI products, such as ranking, computer vision, natural language processing, speech recognition, mobile AI, and AR. He has influential in developing an open source deep learning software stack, many of which serve as the de facto industry standard in AI. Lately, he has been focused on the design ...