Concept-Labeled Examples for Library Comparison

Knowledge Worker Tools & WorkflowsPrototyping & User TestingSoftware Engineers & DevelopersHCI Researchers

Title of the Paper

Concept-Annotated Examples for Library Comparison

Paper Information

  • Subject Area: Human-Computer Interaction (HCI), Programmer Tool Support, Code Example Optimization
  • Keywords: Programming Support, Visualization, Library Comparison, Concept Annotation, User Interface, Perceptual Analysis, Decision Support

Research Background and Problem

  • Identified Problems or Challenges:

    1. Programmers rely on documentation, blogs, or Q&A forums when selecting third-party libraries. Existing methods are diverse but inefficient.
    2. There is a lack of tools that provide in-depth technical comparisons of library functionality and usability.
    3. The current comparison process is highly arbitrary, often leading to suboptimal decisions.
  • Importance:

    • Third-party libraries are widely used in modern programming, and selecting the right library directly impacts code efficiency and development process quality.
    • The increasing variety and complexity of third-party libraries make choosing the appropriate tool a challenging task.
  • Research Motivation:

    • Drawing on "Variation Theory" and "Analogical Learning Theory," the study explores the potential of enhancing programmers' understanding of library functionality and differences through parallel displays of concept-annotated example code.
  • Related Work:

    • Previous methods focused on quantitative metrics of libraries (e.g., popularity, release frequency) but lacked support for in-depth comparisons of functional code.
    • Research has shown that providing structured code examples effectively reduces learning barriers for programmers.

Solution

  • Proposed Method or Solution:

    • The authors designed and implemented a new interface tool called "ParaLib," which supports library selection and comparison through concept-annotated code examples.
    • By manually collecting and annotating nearly 50 example codes, a conceptual hierarchy was created to help users filter and understand the code.
  • Innovations:

    1. Incorporating "Variation Theory" to highlight code differences between libraries.
    2. Applying "Analogical Learning Theory" to emphasize conceptual contrasts and similarities, helping users overlook superficial differences.
    3. Supporting side-by-side visual comparison of multiple libraries, enhancing developers' confidence and accuracy in decision-making.
    4. Pioneering a large-scale design approach for concept hierarchy-based code annotation.
  • Implementation Steps:

    1. Create a Conceptual Hierarchy: Human experts manually construct a library-related conceptual hierarchy (the first layer for general concepts, the second for specific sub-concepts).
    2. Concept Annotation: Functional annotations are added to each library's code examples, considering actual usage scenarios.
    3. Interface Design: The ParaLib tool consists of three main components: the conceptual hierarchy, functional distribution visualization, and side-by-side code comparison view.
    4. User Experience Optimization: Added filtering features, code highlighting, and identification of cross-library similarity regions.

Research Outcomes

  • Specific Results:

    1. User experiments with ParaLib showed that participants more consistently selected appropriate libraries and provided more comprehensive summaries of similarities and differences between libraries.
    2. Programmers using ParaLib made more accurate judgments about library applicability.
    3. The tool addressed issues of scattered and unstructured information in online search methods.
  • Advantages Compared to Existing Solutions:

    1. Provides concrete code examples to support in-depth comparisons of functionality, usability, and complexity.
    2. Reduces anxiety and decision-making difficulties caused by information overload during the search process.
    3. The systematic and structured large-scale code example comparison approach surpasses traditional single-point resource integration tools.
  • Experimental or Evaluation Results:

    • In a user test involving 20 participants, those using ParaLib had a significantly higher probability of correctly selecting libraries compared to online search users.
    • Users of ParaLib demonstrated greater detail in summarizing technical factors and functional differences between libraries.
    • NASA TLX analysis of cognitive load showed that users experienced lower cognitive stress when using ParaLib.
  • Limitations and Future Directions:

    1. The current example and concept annotation process is manual, limiting the tool's scalability.
    2. Social factors of libraries (e.g., popularity, community support) and other technical dimensions (e.g., documentation quality) are not yet covered.
    3. New demands point to future work directions, including automated code annotation tools, dynamic concept hierarchy mining, and the design of comprehensive comparison tools integrating user feedback.

Quick Actions

Share

Share this page

ios_share

https://hci.top/en/papers/uist/85009/2022

AdRecommended

Learn AI Coding at CodeNow

open_in_newOpen DOI Link
DOI: https://doi.org/10.1145/3526113.3545647
At a Glance

Paper Snapshot

fact_check
dataset
Source
UIST
calendar_month
Year
2022
emoji_events
Award
No award tagged
group
Authors
5 authors
sell
Subtopics
Knowledge Worker Tools & Workflows, Prototyping & User Testing
work
Professions
Software Engineers & Developers, HCI Researchers
article
Content Status
Full text indexed
hub
Related Papers
10 related papers