Ethan A. Kuefner

dblp:143/7498 · DBLP profile ↗
← Back
1ranked-venue papers
0as first author
0since 2021 · last 2014
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
1 paper
Program analysis · 80% Programming languages and type systems · 20%

Topics — the 5 heaviest of 5, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program analysis › static analysis
abstract interpretation
0.212014
JSAI: a static analysis platform for JavaScript · SIGSOFT FSE 2014
Program analysis › dynamic language analysis
javascript analysis
0.212014
JSAI: a static analysis platform for JavaScript · SIGSOFT FSE 2014
Program analysis › static analysis
pointer analysis
0.212014
JSAI: a static analysis platform for JavaScript · SIGSOFT FSE 2014
Program analysis
static analysis
0.212014
JSAI: a static analysis platform for JavaScript · SIGSOFT FSE 2014
Programming languages and type systems
type inference
0.212014
JSAI: a static analysis platform for JavaScript · SIGSOFT FSE 2014

Methods — techniques the papers use, named apart from their topics

reduced product · 0.2path sensitivity · 0.2heap sensitivity · 0.2context sensitivity · 0.2abstract domain · 0.2
YearPublicationVenuePosition
2014 JSAI: a static analysis platform for JavaScript
abstract
JavaScript is used everywhere from the browser to the server, including desktops and mobile devices. However, the current state of the art in JavaScript static analysis lags far behind that of other languages such as C and Java. Our goal is to help remedy this lack. We describe JSAI, a formally specified, robust abstract interpreter for JavaScript. JSAI uses novel abstract domains to compute a reduced product of type inference, pointer analysis, control-flow analysis, string analysis, and integer and boolean constant propagation. Part of JSAI's novelty is user-configurable analysis sensitivity, i.e., context-, path-, and heap-sensitivity. JSAI is designed to be provably sound with respect to a specific concrete semantics for JavaScript, which has been extensively tested against a commercial JavaScript implementation. We provide a comprehensive evaluation of JSAI's performance and precision using an extensive benchmark suite, including real-world JavaScript applications, machine generated JavaScript code via Emscripten, and browser addons. We use JSAI's configurability to evaluate a large number of analysis sensitivities (some well-known, some novel) and observe some surprising results that go against common wisdom. These results highlight the usefulness of a configurable analysis platform such as JSAI.
Vineeth Kashyap, Kyle Dewey, Ethan A. Kuefner, John Wagner, Kevin Gibbons, John Sarracino, Ben Wiedermann, Ben Hardekopf
SIGSOFT FSE3