Large Language Models for Code Generation: The Practitioners Perspective
Zeeshan Rasheed, Muhammad Waseem, Kai Kristian Kemell, Aakash Ahmad, Malik Abdul Sami, Jussi Rasku, Kari Systä, Pekka Abrahamsson
TL;DR
Problem: lack of empirical, practitioner-centered evaluation of LLMs for code generation. Approach: build a sandboxed, unified platform integrating eight LLMs and run a practitioner survey across 11 countries to compare usability and performance. Key findings: GPT-4o is most effective for Python tasks, with Llama 3.2 3B Instruct and Mixtral offering cost and domain advantages; GPT-3.5 Turbo performs poorly; results inform practical model selection and integration. Significance: provides a replicable evaluation framework and dataset to guide researchers and practitioners in real-world LLM-driven software development, with plans to expand model coverage and case studies.
Abstract
Large Language Models (LLMs) have emerged as coding assistants, capable of generating source code from natural language prompts. With the increasing adoption of LLMs in software development, academic research and industry based projects are developing various tools, benchmarks, and metrics to evaluate the effectiveness of LLM-generated code. However, there is a lack of solutions evaluated through empirically grounded methods that incorporate practitioners perspectives to assess functionality, syntax, and accuracy in real world applications. To address this gap, we propose and develop a multi-model unified platform to generate and execute code based on natural language prompts. We conducted a survey with 60 software practitioners from 11 countries across four continents working in diverse professional roles and domains to evaluate the usability, performance, strengths, and limitations of each model. The results present practitioners feedback and insights into the use of LLMs in software development, including their strengths and weaknesses, key aspects overlooked by benchmarks and metrics, and a broader understanding of their practical applicability. These findings can help researchers and practitioners make informed decisions for systematically selecting and using LLMs in software development projects. Future research will focus on integrating more diverse models into the proposed system, incorporating additional case studies, and conducting developer interviews for deeper empirical insights into LLM-driven software development.
