@inproceedings{945ed058f7cb4304acb62ef642441982,
title = "Telescope: Fine-tuned discovery of interactive web UI feature implementation",
abstract = "Professional websites contain rich interactive features that developers can learn from, yet understanding their implementation remains a challenge due to the nature of unfamiliar code. Existing tools provide affordances to analyze source code, but feature-rich websites reveal tens of thousands of lines of code and can easily overwhelm the user. We thus present Telescope, a platform for discovering how JavaScript and HTML support a website interaction. Telescope helps users understand unfamiliar website code through a composite view they control by adjusting JavaScript detail, scoping the runtime timeline, and triggering relational links between JS, HTML, and website components. To support these affordances on the open web, Telescope instruments the JavaScript in a website without request intercepts using a novel sleightof-hand technique, then watches for traces emitted from the website. In a case study across seven popular websites, Telescope helped identify less than 150 lines of front-end code out of tens of thousands that accurately describe the desired interaction in six of the sites. In an exploratory user study, we observed users identifying difficult programming concepts by developing strategies to analyze relatively small amounts of unfamiliar website source code with Telescope.",
keywords = "Inspecting, JavaScript, Reverse engineering, Tracing, Web",
author = "Joshua Hibschman and Haoqi Zhang",
year = "2016",
month = oct,
day = "16",
doi = "10.1145/2984511.2984570",
language = "English (US)",
series = "UIST 2016 - Proceedings of the 29th Annual Symposium on User Interface Software and Technology",
publisher = "Association for Computing Machinery, Inc",
pages = "233--245",
booktitle = "UIST 2016 - Proceedings of the 29th Annual Symposium on User Interface Software and Technology",
note = "29th Annual Symposium on User Interface Software and Technology, UIST 2016 ; Conference date: 16-10-2016 Through 19-10-2016",
}