Jasmine: A Static Analysis Framework for Spring Core Technologies

被引:1
作者
Chen, Miao [1 ]
Tu, Tengfei [1 ]
Zhang, Hua [1 ]
Wen, Qiaoyan [1 ]
Wang, Weihang [2 ]
机构
[1] Beijing Univ Posts & Telecommun, Beijing, Peoples R China
[2] Univ Southern Calif, Los Angeles, CA USA
来源
PROCEEDINGS OF THE 37TH IEEE/ACM INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, ASE 2022 | 2022年
关键词
static analysis; points-to analysis; Spring framework; POINTS-TO ANALYSIS; HEAP;
D O I
10.1145/3551349.3556910
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
The Spring framework is widely used in developing enterprise web applications. Spring core technologies, such as Dependency Injection and Aspect-Oriented Programming, make development faster and easier. However, the implementation of Spring core technologies uses a lot of dynamic features. Those features impose significant challenges when using static analysis to reason about the behavior of Spring-based applications. In this paper, we propose Jasmine, a static analysis framework for Spring core technologies extends from Soot to enhance the call graph's completeness while not greatly affecting its performance. We evaluate Jasmine's completeness, precision, and performance using Spring micro-benchmarks and a suite of 18 real-world Spring programs. Our experiments show that Jasmine effectively enhances the state-of-the-art tools based on Soot and Doop to better support Spring core technologies. We also add Jasmine support to FlowDroid and discovered twelve sensitive information leakage paths in our benchmarks. Jasmine is expected to provide significant benefits for many program analyses scenes of Spring applications where more complete call graphs are required.
引用
收藏
页数:13
相关论文
共 50 条
  • [41] A Language-agnostic Framework for Mining Static Analysis Rules from Code Changes
    Effendi, Sedick David Baker
    Cirisci, Berk
    Mukherjee, Rajdeep
    Hoan Anh Nguyen
    Tripp, Omer
    2023 IEEE/ACM 45TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: SOFTWARE ENGINEERING IN PRACTICE, ICSE-SEIP, 2023, : 327 - 339
  • [42] JS']JSCAN: Designing an easy to use LLVM-based Static Analysis Framework
    Fornaia, Andrea
    Scafiti, Stefano
    Tramontana, Emiliano
    2019 IEEE 28TH INTERNATIONAL CONFERENCE ON ENABLING TECHNOLOGIES: INFRASTRUCTURE FOR COLLABORATIVE ENTERPRISES (WETICE), 2019, : 237 - 242
  • [43] Precise Static Happens-Before Analysis for Detecting UAF Order Violations in Android
    Wu, Diyu
    Liu, Jie
    Sui, Yulei
    Chen, Shiping
    Xue, Jingling
    2019 IEEE 12TH CONFERENCE ON SOFTWARE TESTING, VALIDATION AND VERIFICATION (ICST 2019), 2019, : 276 - 287
  • [44] Static and dynamic analysis of corrugated-core sandwich plates using finite strip method
    Zamanifar, Hossein
    Sarrami-Foroushani, Saeid
    Azhari, Mojtaba
    ENGINEERING STRUCTURES, 2019, 183 : 30 - 51
  • [45] An improved higher order zigzag theory for the static analysis of laminated sandwich plate with soft core
    Pandit, Mihir K.
    Sheikh, Abdul H.
    Singh, Bhrigu N.
    FINITE ELEMENTS IN ANALYSIS AND DESIGN, 2008, 44 (9-10) : 602 - 610
  • [46] Static Analysis for Extracting Permission Checks of a Large Scale Framework: The Challenges and Solutions for Analyzing Android
    Bartel, Alexandre
    Klein, Jacques
    Monperrus, Martin
    Le Traon, Yves
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2014, 40 (06) : 617 - 632
  • [47] Reducing Static Analysis Unsoundness with Approximate Interpretation
    Laursen, Mathias Rud
    Xu, Wenyuan
    Moller, Anders
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (PLDI): : 1165 - 1188
  • [48] iABC: Towards a hybrid framework for analyzing and classifying behaviour of iOS applications using static and dynamic analysis
    Bhatt, Arpita Jadhav
    Gupta, Chetna
    Mittal, Sangeeta
    JOURNAL OF INFORMATION SECURITY AND APPLICATIONS, 2018, 41 : 144 - 158
  • [49] Androlic: An Extensible Flow, Context, Object, Field, and Path-Sensitive Static Analysis Framework for Android
    Pan, Linjie
    Cui, Baoquan
    Yan, Jiwei
    Ma, Xutong
    Yan, Jun
    Zhang, Jian
    PROCEEDINGS OF THE 28TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON SOFTWARE TESTING AND ANALYSIS (ISSTA '19), 2019, : 394 - 397
  • [50] Towards Efficient Large-Scale Interprocedural Program Static Analysis on Distributed Data-Parallel Computation
    Gu, Rong
    Zuo, Zhiqiang
    Jiang, Xi
    Yin, Han
    Wang, Zhaokang
    Wang, Linzhang
    Li, Xuandong
    Huang, Yihua
    IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2021, 32 (04) : 867 - 883