What is JavaScript? Embedding JavaScript with HTML JavaScript conventions Variables in JavaScript
Goal-Directed Abstract Interpretation for JavaScript
1
Goal-Directed Abstract Interpretation for JavaScript prop o[prop] var o = {foo : function(){…}, bar : function(){…}, baz : function() {… ; throw ‘error’;} }; var prop = someFunction(); o[prop](); source program Heuristically suspicious abstract state Potential Refutation Type Analyzer for JavaScript (TAJS) ThresherJS: Goal-Directed Abstract Interpretation ≠ ෝ ≠ො Over-approximation in someFunction causes analysis to infer ⊤ as prop’s value Spurious call edges!
Transcript of Goal-Directed Abstract Interpretation for JavaScript
![Page 1: Goal-Directed Abstract Interpretation for JavaScript](https://reader030.fdocuments.us/reader030/viewer/2022040714/624ccf348b38e176da32664e/html5/thumbnails/1.jpg)
Goal-Directed Abstract Interpretation for JavaScript
prop
o[prop]
var o = {foo : function(){…},
bar : function(){…},
baz : function()
{… ; throw ‘error’;} };
var prop = someFunction();
o[prop]();
sourceprogram
Heuristically suspicious
abstract state
Potential Refutation
Type Analyzer for
JavaScript (TAJS)
ThresherJS: Goal-Directed
Abstract Interpretation
≠
ෝ𝑝 ≠ ො𝑝
Over-approximation in
someFunction causes analysis to infer ⊤ as prop’s value
Spurious call edges!