Generating Java Methods: An Empirical Assessment of Four AI-Based Code Assistants
Vincenzo Corso, Leonardo Mariani, Daniela Micucci, Oliviero Riganelli
Abstract
AI-based code assistants are promising tools that can facilitate and speed up code development. They exploit machine learning algorithms and natural language processing to interact with developers, suggesting code snippets (e.g., method implementations) that can be incorporated into projects. Recent studies empirically investigated the effectiveness of code assistants using simple exemplary problems (e.g., the re-implementation of well-known algorithms), which fail to capture the spectrum and nature of the tasks actually faced by developers.
Topics & Concepts
Computer scienceJavaExploitCode (set theory)Dependency (UML)ImplementationProgramming languageSource codeVariety (cybernetics)Artificial intelligenceSoftware engineeringSet (abstract data type)Computer securitySoftware Engineering ResearchSoftware Engineering Techniques and PracticesSoftware Testing and Debugging Techniques