CXXCrafter: An LLM-Based Agent for Automated C/C++ Open Source Software Building
Project building is pivotal to support various program analysis tasks, such as generating intermediate represen- tation code for static analysis and preparing binary code for vulnerability reproduction. However, automating the building process for C/C++ projects is a highly complex endeavor, involving tremendous technical chal- lenges, such as intricate dependency management, diverse build systems, varied toolchains, and multifaceted error handling mechanisms. Consequently, building C/C++ projects often proves difficult in practice, hindering the progress of crucial downstream applications. Unfortunately, research on facilitating the building of C/C++ projects remains insufficient. The emergence of Large Language Models (LLMs) offers promising solutions to the above-mentioned challenges. Trained on extensive corpora, LLMs can help unify diverse build systems through their comprehension capabilities and address complex errors by leveraging tacit knowledge storage. Moreover, LLM-based systems, such as agents, can be systematically designed to dynamically interact with the environment, effectively managing dynamic building issues. Motivated by these opportunities, we conduct an empirical study to systematically analyze the current challenges in the C/C++ project building process. Particularly, we observe that most popular C/C++ projects encounter an average of five errors when relying solely on the build systems. Based on our study, we develop an automated build system called CXXCrafter to specifically address the above-mentioned challenges. Our evaluation on open-source software demonstrates that CXXCrafter achieves a success rate of 78% in project building. Specifically, among the Top100 dataset, 72 projects are built successfully by both CXXCrafter and manual efforts, 3 by CXXCrafter only, and 14 manually only. Despite the slightly lower performance, CXXCrafter can save tremendous manual efforts and can also be easily applied to a wider range of applications automatically.
Tue 24 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
10:30 - 12:20 | Code Review, Build, and ReleaseIdeas, Visions and Reflections / Industry Papers / Demonstrations / Research Papers / Journal First at Aurora A Chair(s): Peter Rigby Concordia University; Meta | ||
10:30 10mTalk | From Overload to Insight: Bridging Code Search and Code Review with LLMs Ideas, Visions and Reflections Nikitha Rao Carnegie Mellon University, Bogdan Vasilescu Carnegie Mellon University, Reid Holmes University of British Columbia | ||
10:40 20mTalk | Explaining Explanations: An Empirical Study of Explanations in Code Reviews Journal First Ratnadira Widyasari Singapore Management University, Singapore, Ting Zhang Singapore Management University, Abir Bouraffa University of Hamburg, Walid Maalej University of Hamburg, David Lo Singapore Management University | ||
11:00 10mTalk | Support, Not Automation: Towards AI-supported Code Review for Code Quality and Beyond Ideas, Visions and Reflections | ||
11:10 20mTalk | BitsAI-CR: Automated Code Review via LLM in Practice Industry Papers Tao Sun Beihang University, Jian Xu ByteDance, Yuanpeng Li ByteDance, Zhao Yan ByteDance, Ge Zhang ByteDance, Lintao Xie ByteDance, Lu Geng ByteDance, Zheng Wang University of Leeds, Yueyan Chen ByteDance, Qin Lin ByteDance, Wenbo Duan ByteDance, Kaixin Sui ByteDance, Yuanshuo Zhu ByteDance | ||
11:30 10mTalk | Visualising Developer Interactions in Code Reviews Demonstrations | ||
11:40 20mTalk | CXXCrafter: An LLM-Based Agent for Automated C/C++ Open Source Software Building Research Papers Zhengmin Yu Fudan University, Yuan Zhang Fudan University, Ming Wen Huazhong University of Science and Technology, Yinan Nie Fudan University, Zhang Wenhui Fudan University, Min Yang Fudan University DOI | ||
12:00 20mTalk | SmartNote: An LLM-Powered, Personalised Release Note Generator That Just Works Research Papers Farbod Daneshyan Peking University, Runzhi He Peking University, Jianyu Wu Peking University, Minghui Zhou Peking University DOI |
Aurora A is the first room in the Aurora wing.
When facing the main Cosmos Hall, access to the Aurora wing is on the right, close to the side entrance of the hotel.