Concept-Annotated Examples for Library Comparison
Litao Yan, Miryung Kim, Bjoern Hartmann, Tianyi Zhang, Elena L. Glassman
Abstract
Programmers often rely on online resources—such as code examples, documentation, blogs, and Q&A forums—to compare similar libraries and select the one most suitable for their own tasks and contexts. However, this comparison task is often done in an ad-hoc manner, which may result in suboptimal choices. Inspired by Analogical Learning and Variation Theory, we hypothesize that rendering many concept-annotated code examples from different libraries side-by-side can help programmers (1) develop a more comprehensive understanding of the libraries’ similarities and distinctions and (2) make more robust, appropriate library selections. We designed a novel interactive interface, ParaLib, and used it as a technical probe to explore to what extent many side-by-side concepted-annotated examples can facilitate the library comparison and selection process. A within-subjects user study with 20 programmers shows that, when using ParaLib, participants made more consistent, suitable library selections and provided more comprehensive summaries of libraries’ similarities and differences.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext f41b005b-838d-4c71-8199-7590cacdbb2bCited by top-tier papers8
- Supporting Sensemaking of Large Language Model Outputs at ScaleKaty Ilonka Gero, Chelse Swoopes, Ziwei Gu, Jonathan K. Kummerfeld et al.CHI 2024 · 52 citations
- Ivie: Lightweight Anchored Explanations of Just-Generated CodeLitao Yan, Alyssa Hwang, Zhiyuan Wu, Andrew HeadCHI 2024 · 40 citations
- Generative AI in Knowledge Work: Design Implications for Data Navigation and Decision-MakingBhada Yun, Dana Feng, Ace S. Chen, Afshin Nikzad et al.CHI 2025 · 23 citations
- ChatGPT Incorrectness Detection in Software ReviewsMinaoar Hossain Tanzil, Junaed Younus Khan, Gias UddinICSE 2024 · 10 citations
- Supporting Co-Adaptive Machine Teaching through Human Concept Learning and Cognitive TheoriesSimret Araya Gebreegziabher, Yukun Yang, Elena L. Glassman, Toby Jia-Jun LiCHI 2025 · 5 citations
Builds on7
- Selecting third-party libraries: the practitioners' perspectiveEnrique Larios Vargas, Maurício Finavaro Aniche, Christoph Treude, Magiel Bruntink et al.FSE 2020 · 81 citations
- Mesh: Scaffolding Comparison Tables for Online Decision MakingJoseph Chee Chang, Nathan Hahn, Aniket KitturUIST 2020 · 32 citations
- Crystalline: Lowering the Cost for Developers to Collect and Organize Information for Decision MakingMichael Xieyang Liu, Aniket Kittur, Brad A. MyersCHI 2022 · 31 citations
- Understanding How Programmers Can Use Annotations on DocumentationAmber Horvath, Michael Xieyang Liu, River Hendriksen, Connor Shannon et al.CHI 2022 · 26 citations
- Enabling Data-Driven API Design with Community Usage Data: A Need-Finding StudyTianyi Zhang, Björn Hartmann, Miryung Kim, Elena L. GlassmanCHI 2020 · 25 citations
Related papers
- DiffCoder: Enhancing Large Language Model on API Invocation via Analogical Code ExercisesDaoguang Zan, Ailun Yu, Bo Shen, Bei Chen et al.FSE 2024 · 1 citation
- Improving API Knowledge Discovery with ML: A Case Study of Comparable API MethodsDaye Nam, Brad A. Myers, Bogdan Vasilescu, Vincent J. HellendoornICSE 2023 · 6 citations
- Generating Concept based API Element Comparison Using a Knowledge GraphYang Liu, Mingwei Liu, Xin Peng, Christoph Treude et al.ASE 2020 · 28 citations
- Here we go again: why is it difficult for developers to learn another programming language?Nischal Shrestha, Colton Botta, Titus Barik, Chris ParninICSE 2020 · 41 citations
- An empirical study on API parameter rulesHao Zhong, Na Meng, Zexuan Li, Li JiaICSE 2020 · 16 citations
