Points-to Analysis for Context-Oriented Java']JavaScript Programs

被引:0
作者
Cardenas, Sergio [1 ]
Leger, Paul [2 ]
Fukuda, Hiroaki [3 ]
Cardozo, Nicolas [1 ]
机构
[1] Univ Los Andes, Cundinamarca, Colombia
[2] Univ Catolica Norte, Antofagasta, Chile
[3] Shibaura Inst Technol, Tokyo, Japan
来源
PROCEEDINGS OF THE 25TH ACM INTERNATIONAL WORKSHOP ON FORMAL TECHNIQUES FOR JAVA-LIKE PROGRAMS, FTFJP 2023 | 2023年
关键词
Static analysis; Points-to analysis; Context-oriented programming;
D O I
10.1145/3605156.3606451
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:18 / 24
页数:7
相关论文
共 19 条
[1]  
Andersen Lars Ole, 1994, Program analysis and specialization for the C prolanguage
[2]  
Aotani Tomoyuki, 2015, P INT WORKSH CONT OR
[3]   Programming language implementations for context-oriented self-adaptive systems [J].
Cardozo, Nicolas ;
Mens, Kim .
INFORMATION AND SOFTWARE TECHNOLOGY, 2022, 143
[4]  
Chandra S., 1999, Software Engineering Notes, V24, P66, DOI 10.1145/381788.316183
[5]  
Gonz alez S., 2013, P INT C ASP OR SOFTW, P209, DOI [DOI 10.1145/2451436.2451461, 10.1145/2451436, DOI 10.1145/2451436]
[6]   Context-oriented Programming [J].
Hirschfeld, Robert ;
Costanza, Pascal ;
Nierstrasz, Oscar .
JOURNAL OF OBJECT TECHNOLOGY, 2008, 7 (03) :125-151
[7]   A Principled Approach to Selective Context Sensitivity for Pointer Analysis [J].
Li, Yue ;
Tan, Tian ;
Moller, Anders ;
Smaragdakis, Yannis .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2020, 42 (02)
[8]  
Livshits VB, 2005, USENIX ASSOCIATION PROCEEDINGS OF THE 14TH USENIX SECURITY SYMPOSIUM, P271
[9]   An Analysis of the Dynamic Behavior of Java']Java Script Programs [J].
Richards, Gregor ;
Lebresne, Sylvain ;
Burg, Brian ;
Vitek, Jan .
PLDI '10: PROCEEDINGS OF THE 2010 ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, 2010, :1-12
[10]  
Roy S, 2007, LECT NOTES COMPUT SC, V4873, P245