Using an LLM to Help with Code Understanding

Understanding code is challenging, especially when working in new and complex development environments. Code comments and documentation can help, but are typically scarce or hard to navigate. Large language models (LLMs) are revolutionizing the process of writing code. Can they do the same for helpi...

Full description

Saved in:
Bibliographic Details
Published inProceedings / International Conference on Software Engineering pp. 1184 - 1196
Main Authors Nam, Daye, Macvean, Andrew, Hellendoorn, Vincent, Vasilescu, Bogdan, Myers, Brad
Format Conference Proceeding
LanguageEnglish
Published ACM 14.04.2024
Subjects
Online AccessGet full text

Cover

Loading…
Abstract Understanding code is challenging, especially when working in new and complex development environments. Code comments and documentation can help, but are typically scarce or hard to navigate. Large language models (LLMs) are revolutionizing the process of writing code. Can they do the same for helping understand it? In this study, we provide a first investigation of an LLM-based conversational UI built directly in the IDE that is geared towards code understanding. Our IDE plugin queries OpenAI's GPT-3.5-turbo model with four high-level requests without the user having to write explicit prompts: to explain a highlighted section of code, provide details of API calls used in the code, explain key domainspecific terms, and provide usage examples for an API. The plugin also allows for open-ended prompts, which are automatically contextualized to the LLM with the program being edited. We evaluate this system in a user study with 32 participants, which confirms that using our plugin can aid task completion more than web search. We additionally provide a thorough analysis of the ways developers use, and perceive the usefulness of, our system, among others finding that the usage and benefits differ between students and professionals. We conclude that in-IDE prompt-less interaction with LLMs is a promising future direction for tool builders.
AbstractList Understanding code is challenging, especially when working in new and complex development environments. Code comments and documentation can help, but are typically scarce or hard to navigate. Large language models (LLMs) are revolutionizing the process of writing code. Can they do the same for helping understand it? In this study, we provide a first investigation of an LLM-based conversational UI built directly in the IDE that is geared towards code understanding. Our IDE plugin queries OpenAI's GPT-3.5-turbo model with four high-level requests without the user having to write explicit prompts: to explain a highlighted section of code, provide details of API calls used in the code, explain key domainspecific terms, and provide usage examples for an API. The plugin also allows for open-ended prompts, which are automatically contextualized to the LLM with the program being edited. We evaluate this system in a user study with 32 participants, which confirms that using our plugin can aid task completion more than web search. We additionally provide a thorough analysis of the ways developers use, and perceive the usefulness of, our system, among others finding that the usage and benefits differ between students and professionals. We conclude that in-IDE prompt-less interaction with LLMs is a promising future direction for tool builders.
Author Hellendoorn, Vincent
Vasilescu, Bogdan
Macvean, Andrew
Myers, Brad
Nam, Daye
Author_xml – sequence: 1
  givenname: Daye
  surname: Nam
  fullname: Nam, Daye
  email: dayen@cs.cmu.edu
  organization: Carnegie Mellon University,U.S.A
– sequence: 2
  givenname: Andrew
  surname: Macvean
  fullname: Macvean, Andrew
  email: amacvean@google.com
  organization: Google, Inc.,U.S.A
– sequence: 3
  givenname: Vincent
  surname: Hellendoorn
  fullname: Hellendoorn, Vincent
  email: vhellend@andrew.cmu.edu
  organization: Carnegie Mellon University,U.S.A
– sequence: 4
  givenname: Bogdan
  surname: Vasilescu
  fullname: Vasilescu, Bogdan
  email: vasilescu@cmu.edu
  organization: Carnegie Mellon University,U.S.A
– sequence: 5
  givenname: Brad
  surname: Myers
  fullname: Myers, Brad
  email: bam@cs.cmu.edu
  organization: Carnegie Mellon University,U.S.A
BookMark eNotjsFKxDAQQKMouK49e_GQD7BrJpPJJEdZ1BUqXux5Se1UC2u6tAXx7y3o6V0ej3epzvKQRalrMBsAR3dIkcngBj1GCHyiisgxOGPYWGB3qlZAFEqwli5UMU19Y8ghsXe4Urf11OcPnbKuqhc9D3onh6P-7udPvR1a0XVuZZzmlNtFu1LnXTpMUvxzrerHh7ftrqxen56391WZLFou2-hRKDaIgMzJiw-BMBrTmk64My5aSI003ryjS67zzIQhxWUKgjiPa3Xz1-1FZH8c-680_uxh2Q7BMv4CWLNBsA
CODEN IEEPAD
ContentType Conference Proceeding
DBID 6IE
6IH
CBEJK
ESBDL
RIE
RIO
DOI 10.1145/3597503.3639187
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Proceedings Order Plan (POP) 1998-present by volume
IEEE Xplore All Conference Proceedings
IEEE Xplore Open Access Journals (UHCL Subscription)
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP) 1998-present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 9798400702174
EISSN 1558-1225
EndPage 1196
ExternalDocumentID 10548827
Genre orig-research
GroupedDBID -~X
.4S
.DC
29O
5VS
6IE
6IF
6IH
6IK
6IL
6IM
6IN
8US
AAJGR
AAWTH
ABLEC
ADZIZ
ALMA_UNASSIGNED_HOLDINGS
ARCSS
AVWKF
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
CHZPO
EDO
ESBDL
FEDTE
I-F
IEGSK
IJVOP
IPLJI
M43
OCL
RIE
RIL
RIO
ID FETCH-LOGICAL-a2327-d963e59b331377a6e68853900d0fe7f04921abeb60c34a4f677538a943518e463
IEDL.DBID RIE
IngestDate Wed Aug 27 01:53:12 EDT 2025
IsDoiOpenAccess true
IsOpenAccess true
IsPeerReviewed false
IsScholarly true
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a2327-d963e59b331377a6e68853900d0fe7f04921abeb60c34a4f677538a943518e463
OpenAccessLink https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/document/10548827
PageCount 13
ParticipantIDs ieee_primary_10548827
PublicationCentury 2000
PublicationDate 2024-April-14
PublicationDateYYYYMMDD 2024-04-14
PublicationDate_xml – month: 04
  year: 2024
  text: 2024-April-14
  day: 14
PublicationDecade 2020
PublicationTitle Proceedings / International Conference on Software Engineering
PublicationTitleAbbrev ICSE
PublicationYear 2024
Publisher ACM
Publisher_xml – name: ACM
SSID ssib054357643
ssib055306466
ssj0006499
Score 2.6256769
Snippet Understanding code is challenging, especially when working in new and complex development environments. Code comments and documentation can help, but are...
SourceID ieee
SourceType Publisher
StartPage 1184
SubjectTerms Codes
Developer tool
Documentation
Information support
LLM
Navigation
Program comprehension
Prototypes
Software engineering
Task analysis
User study
Web search
Title Using an LLM to Help with Code Understanding
URI https://ieeexplore.ieee.org/document/10548827
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV09T8MwED3RTkzlowgoIA-MJDixY8dzRVWhtmKgUrfqnLgLUlKhdOHXc3YTKEhIbFEmO5fze-e7ewdwLw1qbQpJFsAskjZVkfXKiNIaW6YShQ4Z0_lCTZfyeZWt2mb10AvjnAvFZy72jyGXX9bFzl-VkYcTv85T3YMeRW77Zq3u58kI9_WBtpQfh6Ok5yrtsayI27faPonMHgUx6YyLWBBEJ_nP4SoBWyYDWHSr2peUvMW7xsbFxy_Bxn8v-wSG32187OULoE7hyFVnMOjmOLDWrc_hIdQNMKzYbDZnTc0Ii7bM39CycV06tjxsgBnCcvL0Op5G7RSFCIkt6agkF3OZsUJ4cUFUTuUE0Ybzkm-c3lCEkCZonVW8EBLlRmmKYHI09D2T3EklLqBf1ZW7BEbUg2NBHMFLzpgCEaVFhUVJHICMyq9g6He_3u6FMtbdxq__eD-C45Q4gk_OJPIG-s37zt0Sxjf2Ltj2E3X_n0Y
linkProvider IEEE
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV09T8MwED1BGWAqH0V844GRhCR27HiuqAqkFUMrdavOibsgJRVKFn495zSBgoTEFnmyfTm_Z9_dO4A7oVEpnQmyAMaeMJH0jFNGFEabPBLIVRMxnUzleC6eF_GiLVZvamGstU3ymfXdZxPLz8usdk9l5OHEr5NI7cIeAX8cbsq1ut8nJuRXW-pSriGOFI6ttAezJHbfqvuEIn7gxKXjgPucQDpMfrZXadBl1IdpN69NUsmbX1fGzz5-STb-e-KHMPgu5GOvXxB1BDu2OIZ-18mBtY59AvdN5gDDgqXphFUlIzRaM_dGy4Zlbtl8uwRmAPPR42w49to-Ch4SX1JeTk5mY204d_KCKK1MCKR1EOTByqoV3RGiEI01Msi4QLGSiu4wCWrazzCxQvJT6BVlYc-AEfkIMCOW4ERndIaIwqDELCcWQGYNzmHgVr9cb6Qylt3CL_4Yv4X98WySLtOn6cslHETEGFyoJhRX0Kvea3tNiF-Zm8bOn_7hoo8
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=Proceedings+%2F+International+Conference+on+Software+Engineering&rft.atitle=Using+an+LLM+to+Help+with+Code+Understanding&rft.au=Nam%2C+Daye&rft.au=Macvean%2C+Andrew&rft.au=Hellendoorn%2C+Vincent&rft.au=Vasilescu%2C+Bogdan&rft.date=2024-04-14&rft.pub=ACM&rft.eissn=1558-1225&rft.spage=1184&rft.epage=1196&rft_id=info:doi/10.1145%2F3597503.3639187&rft.externalDocID=10548827