Welcome to the 1st ACM International Conference on AI-Powered Software (AIware), held on 15th and 16th July 2024 in Porto de Galinhas, Brazil co-located with the ACM International Conference on the Foundations of Software Engineering (FSE 2024). AIware aims to be an annual conference that brings the software engineering community together in anticipation of the upcoming changes driven by Foundation Models (FMs) and looks at them from the perspective of AI-powered software and their evolution. AIware 2024 prioritizes fostering discussions about the latest developments in the interdisciplinary field of AIware rather than solely focusing on the presentation of papers. The emphasis is on engaging conversations from diverse backgrounds to identify emerging research challenges and establish a new research agenda for the community in the Foundation Model era. To present papers and for discussions, the two-day conference will have five sessions themed around AIware Vision, SE for AIware, Human - AI Conversation, Security & Safety and AIware for Software Lifecycle Activities. Furthermore, the conference program will include two keynotes and five industry talks. The final session in the conference program will be dedicated to presenting accepted papers of the AIware challenge track.
Proceeding Downloads
Identifying the Factors That Influence Trust in AI Code Completion
AI-powered software development tooling is changing the way that developers interact with tools and write code. However, the ability for AI to truly transform software development may depend on developers' levels of trust in these tools, which has ...
Unveiling the Potential of a Conversational Agent in Developer Support: Insights from Mozilla’s PDF.js Project
- João Correia,
- Morgan C. Nicholson,
- Daniel Coutinho,
- Caio Barbosa,
- Marco Castelluccio,
- Marco Gerosa,
- Alessandro Garcia,
- Igor Steinmacher
Large language models and other foundation models (FMs) boost productivity by automating code generation, supporting bug fixes, and generating documentation. We propose that FMs can further support Open Source Software (OSS) projects by assisting ...
Function+Data Flow: A Framework to Specify Machine Learning Pipelines for Digital Twinning
The development of digital twins (DTs) for physical systems increasingly leverages artificial intelligence (AI), particularly for combining data from different sources or for creating computationally efficient, reduced-dimension models. Indeed, even in ...
A Transformer-Based Approach for Smart Invocation of Automatic Code Completion
Transformer-based language models are highly effective for code completion, with much research dedicated to enhancing the content of these completions. Despite their effectiveness, these models come with high operational costs and can be intrusive, ...
From Human-to-Human to Human-to-Bot Conversations in Software Engineering
Software developers use natural language to interact not only with other humans, but increasingly also with chatbots. These interactions have different properties and flow differently based on what goal the developer wants to achieve and who they ...
Unveiling Assumptions: Exploring the Decisions of AI Chatbots and Human Testers
The integration of Large Language Models (LLMs) and chatbots introduces new challenges and opportunities for decision-making in software testing. Decision-making relies on a variety of information, including code, requirements specifications, and other ...
Green AI in Action: Strategic Model Selection for Ensembles in Production
Integrating Artificial Intelligence (AI) into software systems has significantly enhanced their capabilities while escalating energy demands. Ensemble learning, combining predictions from multiple models to form a single prediction, intensifies this ...
Measuring Impacts of Poisoning on Model Parameters and Embeddings for Large Language Models of Code
Large language models (LLMs) have revolutionized software development practices, yet concerns about their safety have arisen, particularly regarding hidden backdoors, aka trojans. Backdoor attacks involve the insertion of triggers into training data, ...
A Comparative Analysis of Large Language Models for Code Documentation Generation
This paper presents a comprehensive comparative analysis of Large Language Models (LLMs) for generation of code documentation. Code documentation is an essential part of the software writing process. The paper evaluates models such as GPT-3.5, GPT-4, ...
An AI System Evaluation Framework for Advancing AI Safety: Terminology, Taxonomy, Lifecycle Mapping
The advent of advanced AI underscores the urgent need for comprehensive safety evaluations, necessitating collaboration across communities (i.e., AI, software engineering, and governance). However, divergent practices and terminologies across these ...
Towards AI for Software Systems
Generative Artificial Intelligence (GenAI) is being adopted for a number of Software Engineering activities, mostly centering around coding, such as code generation, code comprehension, code reviews, test generation, and bug fixing. Other phases in the ...
AI-Assisted Assessment of Coding Practices in Modern Code Review
- Manushree Vijayvergiya,
- Małgorzata Salawa,
- Ivan Budiselić,
- Dan Zheng,
- Pascal Lamblin,
- Marko Ivanković,
- Juanjo Carin,
- Mateusz Lewko,
- Jovan Andonov,
- Goran Petrović,
- Daniel Tarlow,
- Petros Maniatis,
- René Just
Modern code review is a process in which an incremental code contribution made by a code author is reviewed by one or more peers before it is committed to the version control system. An important element of modern code review is verifying that code ...
Leveraging Machine Learning for Optimal Object-Relational Database Mapping in Software Systems
Modern software systems, developed using object-oriented programming languages (OOPL), often rely on relational databases (RDB) for persistent storage, leading to the object-relational impedance mismatch problem (IMP). Although Object-Relational Mapping (...
A Case Study of LLM for Automated Vulnerability Repair: Assessing Impact of Reasoning and Patch Validation Feedback
Recent work in automated program repair (APR) proposes the use of reasoning and patch validation feedback to reduce the semantic gap between the LLMs and the code under analysis. The idea has been shown to perform well for general APR, but its ...
SolMover: Smart Contract Code Translation Based on Concepts
Large language models (LLMs) have showcased remarkable skills, rivaling or even exceeding human intelligence in certain areas. Their proficiency in translation is notable, as they may replicate the nuanced, preparatory steps of human translators for high-...
Chain of Targeted Verification Questions to Improve the Reliability of Code Generated by LLMs
LLM-based assistants, such as GitHub Copilot and ChatGPT, have the potential to generate code that fulfills a programming task described in a natural language description, referred to as a prompt. The widespread accessibility of these assistants enables ...
The Role of Generative AI in Software Development Productivity: A Pilot Case Study
With software development increasingly reliant on innovative technologies, there is a growing interest in exploring the potential of generative AI tools to streamline processes and enhance productivity. In this scenario, this paper investigates the ...
The Art of Programming: Challenges in Generating Code for Creative Applications
Programming has been a key tool for artists and other creatives for decades, and the creative use of programming presents unique challenges, opportunities and perspectives for researchers considering how AI can be used to support coding more generally. ...
Automatic Programming vs. Artificial Intelligence
Ever since we began programming in the 1950s, there have been two diametrically opposed tendencies within computer science and software engineering: on the left side of the Glorious Throne of Alan Turing, the tendency to perfect the Art of Computer ...
Neuro-Symbolic Approach to Certified Scientific Software Synthesis
Scientific software development demands robust solutions to meet the complexities of modern scientific systems. In response, we propose a paradigm-shifting Neuro-Symbolic Approach to Certified Scientific Software Synthesis. This innovative framework ...
Effectiveness of ChatGPT for Static Analysis: How Far Are We?
- Mohammad Mahdi Mohajer,
- Reem Aleithan,
- Nima Shiri Harzevili,
- Moshi Wei,
- Alvine Boaye Belle,
- Hung Viet Pham,
- Song Wang
This paper conducted a novel study to explore the capabilities of ChatGPT, a state-of-the-art LLM, in static analysis tasks such as static bug detection and false positive warning removal. In our evaluation, we focused on two types of typical and ...
RUBICON: Rubric-Based Evaluation of Domain-Specific Human AI Conversations
Evaluating conversational assistants, such as GitHub Copilot Chat, poses a significant challenge for tool builders in the domain of Software Engineering. These assistants rely on language models and chat-based user experiences, rendering their evaluation ...
Investigating the Potential of Using Large Language Models for Scheduling
The inaugural ACM International Conference on AI-powered Software introduced the AIware Challenge, prompting researchers to explore AI-driven tools for optimizing conference programs through constrained optimization. We investigate the use of Large ...
Automated Scheduling for Thematic Coherence in Conferences
This study presents a novel Artificial Intelligence (AI)-based approach to automate conference session scheduling that integrates Natural Language Processing (NLP) techniques. By analyzing contextual information from conference activities, this framework ...
Conference Program Scheduling using Genetic Algorithms
Program creation is the process of allocating presentation slots for each paper accepted to a conference with parallel sessions. This process, generally done manually, involves intricate decision-making to align with multiple constraints and optimize ...
AI Assistant in JetBrains IDE: Insights and Challenges (Invited Talk)
Frontier Large language models in 2024 are capable of performing numerous tasks, including SE ones, and are widely used to create impressive demos. However, productizing these models remains notoriously challenging. JetBrains AI Assistant is one such ...
AI-Assisted User Intent Formalization for Programs: Problem and Applications (Invited Talk)
The correctness of a program is always as good as the specification that is verified. However, writing down formal specifications is non-trivial for mainstream developers. This limits the usage of rigorous testing and verification techniques to improve ...
AI-Based Digital Twins: A Tale of Innovation in Norwegian Public Sectors (Invited Talk)
Digital twins, often called “virtual replicas” of their underlying systems, enable advanced system analyses during their design, development, and operation. This talk will cover how we utilized digital twins that we built with artificial intelligence ...
Agents for Data Science: From Raw Data to AI-Generated Notebooks using LLMs and Code Execution (Invited Talk)
Data science tasks involve a complex interplay of datasets, code and code outputs for answering questions, deriving insights, or building models from data. Tasks and chosen methods may require specialized data domain or scientific domain knowledge. ...
AI in Software Engineering at Google: Progress and the Path Ahead (Invited Talk)
Over a period of just about 5 years, the use of AI-based tools for software engineering has gone from being a very promising research investigation to indispensable features in modern developer environments. This talk will present AI-powered improvements ...
Index Terms
- Proceedings of the 1st ACM International Conference on AI-Powered Software