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...
Saved in:
Published in | Proceedings / International Conference on Software Engineering pp. 1184 - 1196 |
---|---|
Main Authors | , , , , |
Format | Conference Proceeding |
Language | English |
Published |
ACM
14.04.2024
|
Subjects | |
Online Access | Get 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 |