Abstract
We present Linvail, a novel instrumentation platform for developing dynamic analyses of JavaScript programs. Linvail is particularly well-suited to implementing shadow executions which involve tagging runtime values with analysis-specific data. In contrast to existing instrumentation platforms, Linvail is capable of tracking both tagged objects and tagged primitive values during their entire life-time in a behavior-preserving manner. To demonstrate the expressiveness of our platform, we present the implementation of several state-of-the-art analyses. Our experiments demonstrate that Linvail’s accuracy comes at the price of a performance overhead, but we believe that real-world applications will remain usable under analysis.
Original language | English |
---|---|
Title of host publication | Proceedings of the 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2016) |
Publisher | IEEE CS |
Pages | 260-270 |
Number of pages | 10 |
ISBN (Print) | 978-1-5090-1855-0 |
Publication status | Published - 18 Mar 2016 |
Event | 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER2016) - Osaka University, Osaka, Japan Duration: 14 Mar 2016 → 18 Mar 2016 |
Conference
Conference | 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER2016) |
---|---|
Country/Territory | Japan |
City | Osaka |
Period | 14/03/16 → 18/03/16 |
Keywords
- Shadow Execution
- Dynamic Analysis
- JavaScript
- Taint Analysis
- Object Proxy
- Reflection
- Membrane Pattern
- ECMAScript6