Points-to Analysis for Context-Oriented JavaScript Programs

We have published and presented a paper at the 25th ACM International Workshop on Formal Techniques for Java-like Programs (FTfJP ’23). DOI: https://doi.org/10.1145/3605156.3606451


Static analyses, as points-to analysis, are useful to determine and assure different properties about a program, such as security or type
safety. While existing analyses are effective in programs restricted to static features, precision declines in the presence of dynamic language features, and even further when the system behavior changes dynamically. As a consequence, improved points-to sets algorithms taking into account such language features and uses are required. In this paper, we present and extension of the point-to sets analysis to incorporate the language abstractions introduced by context-oriented programming adding the capability for programs to adapt their behavior dynamically to the system’s execution context. To do this, we extend WALA to detect the context-oriented language abstractions, and their representation within the system, to capture the dynamic behavior, in the particular case of the Context Traits
JavaScript language extension. To prove the effectiveness of our extension, we evaluate the precision of the points-to set analysis with respect to the state of the art, over four context-oriented programs taken from the literature.

Leave a Reply

Your email address will not be published. Required fields are marked *