{"title":"使用生成式人工智能进行结对编程","authors":"Diomidis Spinellis","doi":"10.1109/ms.2024.3363848","DOIUrl":null,"url":null,"abstract":"Generative AI based on large-language models is significantly impacting software development through IDE assistants, cloud-based APIs, and interactive chatbots for coding assistance. It excels in generating and translating code and data, navigating APIs, and creating boilerplate content, thereby enhancing productivity. However, it is prone to generating inaccurate information (“hallucinations”), erroneous code, and potentially introducing security vulnerabilities. To counter these risks, employing automated analysis tools, conducting rigorous testing, and maintaining a deep understanding of computer science concepts are essential. While generative AI can substantially aid development tasks it is not a replacement for human expertise, especially in understanding complex software, its requirements, and architecture.","PeriodicalId":55018,"journal":{"name":"IEEE Software","volume":"10 1","pages":""},"PeriodicalIF":3.3000,"publicationDate":"2024-04-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Pair Programming With Generative AI\",\"authors\":\"Diomidis Spinellis\",\"doi\":\"10.1109/ms.2024.3363848\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Generative AI based on large-language models is significantly impacting software development through IDE assistants, cloud-based APIs, and interactive chatbots for coding assistance. It excels in generating and translating code and data, navigating APIs, and creating boilerplate content, thereby enhancing productivity. However, it is prone to generating inaccurate information (“hallucinations”), erroneous code, and potentially introducing security vulnerabilities. To counter these risks, employing automated analysis tools, conducting rigorous testing, and maintaining a deep understanding of computer science concepts are essential. While generative AI can substantially aid development tasks it is not a replacement for human expertise, especially in understanding complex software, its requirements, and architecture.\",\"PeriodicalId\":55018,\"journal\":{\"name\":\"IEEE Software\",\"volume\":\"10 1\",\"pages\":\"\"},\"PeriodicalIF\":3.3000,\"publicationDate\":\"2024-04-05\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"IEEE Software\",\"FirstCategoryId\":\"94\",\"ListUrlMain\":\"https://doi.org/10.1109/ms.2024.3363848\",\"RegionNum\":4,\"RegionCategory\":\"计算机科学\",\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"Q2\",\"JCRName\":\"COMPUTER SCIENCE, SOFTWARE ENGINEERING\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"IEEE Software","FirstCategoryId":"94","ListUrlMain":"https://doi.org/10.1109/ms.2024.3363848","RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q2","JCRName":"COMPUTER SCIENCE, SOFTWARE ENGINEERING","Score":null,"Total":0}
引用次数: 0
摘要
基于大型语言模型的生成式人工智能正通过 IDE 助手、基于云的应用程序接口和用于编码辅助的交互式聊天机器人对软件开发产生重大影响。它在生成和翻译代码和数据、浏览 API 和创建模板内容方面表现出色,从而提高了工作效率。但是,它容易生成不准确的信息("幻觉")、错误的代码,并可能带来安全漏洞。为了应对这些风险,采用自动分析工具、进行严格测试以及保持对计算机科学概念的深刻理解至关重要。虽然生成式人工智能可以极大地帮助开发任务,但它并不能取代人类的专业知识,尤其是在理解复杂软件、其需求和架构方面。
Generative AI based on large-language models is significantly impacting software development through IDE assistants, cloud-based APIs, and interactive chatbots for coding assistance. It excels in generating and translating code and data, navigating APIs, and creating boilerplate content, thereby enhancing productivity. However, it is prone to generating inaccurate information (“hallucinations”), erroneous code, and potentially introducing security vulnerabilities. To counter these risks, employing automated analysis tools, conducting rigorous testing, and maintaining a deep understanding of computer science concepts are essential. While generative AI can substantially aid development tasks it is not a replacement for human expertise, especially in understanding complex software, its requirements, and architecture.
期刊介绍:
IEEE Software delivers reliable, useful, leading-edge software development information to keep engineers and managers abreast of rapid technology change. Its mission is to build the community of leading software practitioners. The authority on translating software theory into practice, this magazine positions itself between pure research and pure practice, transferring ideas, methods, and experiences among researchers and engineers. Peerreviewed articles and columns by seasoned practitioners illuminate all aspects of the industry, including process improvement, project management, development tools, software maintenance, Web applications and opportunities, testing, and usability. The magazine''s readers specify, design, document, test, maintain, purchase, engineer, sell, teach, research, and manage the production of software or systems that include software. IEEE Software welcomes articles describing how software is developed in specific companies, laboratories, and university environments as well as articles describing new tools, current trends, and past projects'' limitations and failures as well as successes. Sample topics include geographically distributed development; software architectures; program and system debugging and testing; the education of software professionals; requirements, design, development, testing, and management methodologies; performance measurement and evaluation; standards; program and system reliability, security, and verification; programming environments; languages and language-related issues; Web-based development; usability; and software-related social and legal issues.