Reasonably-Most-General Clients for JavaScript Library Analysis
Technical TrackIndustry Program
A well-known approach to statically analyze libraries without having access to their client code is to model all possible clients abstractly using a most-general client. In dynamic languages, however, a most-general client would be too general: it may interact with the library in ways that are not intended by the library developer and are not realistic in actual clients, resulting in useless analysis results. In this work, we explore the concept of a “reasonably-most-general client”, in the context of a new static analysis tool REAGENT that aims to detect errors in TypeScript declaration files for JavaScript libraries.
By incorporating different variations of reasonably-most-general clients into an existing static analyzer for JavaScript, we use REAGENT to study how different assumptions of client behavior affect the analysis results. We also show how REAGENT is able to find type errors in real-world TypeScript declaration files, and, once the errors have been corrected, to guarantee that no remaining errors exist relative to the selected assumptions.
Wed 29 MayDisplayed time zone: Eastern Time (US & Canada) change
11:00 - 12:30 | Static AnalysisTechnical Track / Papers / Demonstrations at Viger Chair(s): Mauro Pezze Università della Svizzera italiana (USI) (Switzerland) and Università degli Studi di Milano Bicocca (Italy) | ||
11:00 20mTalk | SMOKE: Scalable Path-Sensitive Memory Leak Detection for Millions of Lines of Code Technical Track Gang Fan Hong Kong University of Science and Technology, Rongxin Wu Department of Computer Science and Engineering, The Hong Kong University of Science and Technology, Qingkai Shi Hong Kong University of Science and Technology, Xiao Xiao Sourcebrella Inc., Jinguo Zhou Sourcebrella Inc., Charles Zhang The Hong Kong University of Science and Technology Pre-print | ||
11:20 20mTalk | Reasonably-Most-General Clients for JavaScript Library Analysis Technical Track | ||
11:40 20mTalk | Resource-aware Program Analysis via Online Abstraction Coarsening Technical Track | ||
12:00 20mTalk | SMT-Based Refutation of Spurious Bug Reports in the Clang Static AnalyzerDemos Demonstrations Mikhail R. Gadelha SIDIA Instituto de Ciência e Tecnologia, Enrico Steffinlongo , Lucas C. Cordeiro University of Manchester, UK, Bernd Fischer Stellenbosch University, Denis A. Nicole University of Southampton | ||
12:20 10mTalk | Discussion Period Papers |