Please use this identifier to cite or link to this item: http://repository.iiitd.edu.in/xmlui/handle/123456789/1402
Full metadata record
DC FieldValueLanguage
dc.contributor.authorVohra, Aryan
dc.contributor.authorPatel, Hardik
dc.contributor.authorJalote, Pankaj (Advisor)
dc.date.accessioned2024-05-08T08:21:06Z
dc.date.available2024-05-08T08:21:06Z
dc.date.issued2023-11-29
dc.identifier.urihttp://repository.iiitd.edu.in/xmlui/handle/123456789/1402
dc.description.abstractCode refactoring, in which an existing module is modified for satisfying some property while maintaining the functionality, is often needed as software evolves. Since refactoring is tedious and error prone, it is sometimes ignored, even though reforming could improve code quality. In this paper we experimentally explore the effectiveness of using genAI, in particular ChatGPT, for refactoring of python code modules. From open source, we collected 14 python modules of 100-300 LOC. We then refactored them using ChatGPT for two different end-goals: improving performance and improving maintainability or understandability. Our findings indicate that ChatGPT is able to successfully refactor in most of the cases, and also improves the code for the stated refactoring goal. We also explored different prompt styles for improving refactoring performance, and shared our experience of the same.en_US
dc.language.isoen_USen_US
dc.publisherIIIT-Delhien_US
dc.subjectChatGPTen_US
dc.subjectRefactoringen_US
dc.subjectMachine Learningen_US
dc.subjectSoftware Engineeringen_US
dc.subjectData Structuresen_US
dc.subjectAlgorithmsen_US
dc.subjectSecurityen_US
dc.titleAI for software development: refactoring code-basesen_US
dc.typeOtheren_US
Appears in Collections:Year-2023

Files in This Item:
File Description SizeFormat 
Aryan-1 - Aryan Vohra.pdf
  Restricted Access
501.8 kBAdobe PDFView/Open Request a copy
BTP Report - Hardik Patel.pdf
  Restricted Access
501.68 kBAdobe PDFView/Open Request a copy


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.