Litcius/Paper detail

Concept-Annotated Examples for Library Comparison

Litao Yan, Miryung Kim, Bjoern Hartmann, Tianyi Zhang, Elena L. Glassman

202214 citationsDOI

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.

Topics & Concepts

Computer scienceDocumentationSelection (genetic algorithm)Rendering (computer graphics)Digital libraryTask (project management)Information retrievalProcess (computing)Code (set theory)World Wide WebHuman–computer interactionArtificial intelligenceProgramming languageSet (abstract data type)ArtManagementPoetryEconomicsLiteratureSoftware Engineering ResearchAdvanced Text Analysis TechniquesTopic Modeling
Concept-Annotated Examples for Library Comparison | Litcius