Identity-sensitive Points-to Analysis for the Dynamic Behavior of JavaScript Objects
dc.contributor.author | Wei, Shiyi | en |
dc.contributor.author | Ryder, Barbara G. | en |
dc.contributor.department | Computer Science | en |
dc.date.accessioned | 2013-12-13T17:00:30Z | en |
dc.date.available | 2013-12-13T17:00:30Z | en |
dc.date.issued | 2013-12-13 | en |
dc.description.abstract | JavaScript object behavior is dynamic and adheres to prototype-based inheritance. The behavior of a JavaScript object can be changed by adding and removing properties at runtime. Points-to analysis calculates the set of values a reference property or variable may have during execution. We present a novel, partially flow-sensitive, context-sensitive points-to algorithm that accurately models dynamic changes in object behavior. The algorithm represents objects by their creation sites and local property names; it tracks property updates via a new control-flow graph representation. The calling context is comprised of the receiver object, its local properties and prototype chain. We compare the new points-to algorithm with an existing JavaScript points-to algorithm in terms of their respective performance and accuracy on a client application. The experimental results on real JavaScript websites show that the new points-to analysis significantly improves precision, uniquely resolving on average 11% more property lookup statements. | en |
dc.identifier.trnumber | TR-13-05 | en |
dc.identifier.uri | http://hdl.handle.net/10919/24538 | en |
dc.language.iso | en | en |
dc.publisher | Department of Computer Science, Virginia Polytechnic Institute & State University | en |
dc.relation.ispartof | Computer Science Technical Reports | en |
dc.rights | In Copyright | en |
dc.rights.uri | http://rightsstatements.org/vocab/InC/1.0/ | en |
dc.subject | Javascript | en |
dc.subject | Program analysis | en |
dc.subject | Points-to analysis | en |
dc.subject | Computer science | en |
dc.subject | Software engineering | en |
dc.title | Identity-sensitive Points-to Analysis for the Dynamic Behavior of JavaScript Objects | en |
dc.type | Technical report | en |
dc.type.dcmitype | Text | en |