HookLens: Visual Analytics for Understanding React Hooks Structures
Suyeon Hwang, Minkyu Kweon, Jeongmin Rhee, Soohyun Lee, Seokhyeon Park, Seokweon Jung, Hyeon Jeon, Jinwook Seo

TL;DR
HookLens is an interactive visual analytics tool designed to help React developers understand complex hook dependencies and identify anti-patterns, significantly improving code comprehension and maintainability.
Contribution
This paper introduces HookLens, a novel visual analytics system specifically tailored for understanding React Hooks structures and dependencies, validated through user studies.
Findings
HookLens improves accuracy in detecting anti-patterns.
Participants using HookLens outperform those using conventional editors.
HookLens surpasses LLM-based coding assistants in anti-pattern detection.
Abstract
Maintaining and refactoring React web applications is challenging, as React code often becomes complex due to its core API called Hooks. For example, Hooks often lead developers to create complex dependencies among components, making code behavior unpredictable and reducing maintainability, i.e., anti-patterns. To address this challenge, we present HookLens, an interactive visual analytics system that helps developers understand howHooks define dependencies and data flows between components. Informed by an iterative design process with experienced React developers, HookLens supports users to efficiently understand the structure and dependencies between components and to identify anti-patterns. A quantitative user study with 12 React developers demonstrates that HookLens significantly improves participants' accuracy in detecting anti-patterns compared to conventional code editors.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Data Visualization and Analytics · Software Testing and Debugging Techniques
