SWAN: A Static Analysis Framework for Swift

被引:6
作者
Tiganov, Daniil [1 ]
Cho, Jeff [1 ]
Ali, Karim [1 ]
Dolby, Julian [2 ]
机构
[1] Univ Alberta, Edmonton, AB, Canada
[2] IBM Res, Yorktown Hts, NY USA
来源
PROCEEDINGS OF THE 28TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '20) | 2020年
基金
加拿大自然科学与工程研究理事会;
关键词
Swift; static analysis; taint analysis;
D O I
10.1145/3368089.3417924
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Swift is an open-source programming language and Apple's recommended choice for app development. Given the global widespread use of Apple devices, the ability to analyze Swift programs has significant impact on millions of users. Although static analysis frameworks exist for various computing platforms, there is a lack of comparable tools for Swift. While LLVM and Clang support some analyses for Swift, they are either primarily dynamic analyses or not suitable for deeper analyses of Swift programs such as taint tracking. Moreover, other existing tools for Swift only help enforce code styles and best practices. In this paper, we present SWAN, an open-source framework that allows robust program analyses of Swift programs using IBM's T.J. Watson Libraries for Analysis (WALA). To provide a wide range of analyses for Swift, SWAN leverages the well-established libraries in WALA. SWAN is publicly available at https://github.com/themaplelab/swan. We have also made a screencast available at https//youtu.be/AZwfhOGqwFs.
引用
收藏
页码:1640 / 1644
页数:5
相关论文
共 50 条
  • [21] Static analysis based correctness verification for mandatory access control framework
    Wu, Xin-Song
    Zhou, Zhou-Yi
    He, Ye-Ping
    Liang, Hong-Liang
    Yuan, Chun-Yang
    Jisuanji Xuebao/Chinese Journal of Computers, 2009, 32 (04): : 730 - 739
  • [22] EOSIOAnalyzer: An Effective Static Analysis Vulnerability Detection Framework for EOSIO Smart Contracts
    Li, Wenyuan
    He, Jiahao
    Zhao, Gansen
    Yang, Jinji
    Li, Shuangyin
    Lai, Ruilin
    Li, Ping
    Tang, Hua
    Luo, Haoyu
    Zhou, Ziheng
    2022 IEEE 46TH ANNUAL COMPUTERS, SOFTWARE, AND APPLICATIONS CONFERENCE (COMPSAC 2022), 2022, : 746 - 756
  • [23] S3ntinel: An Extensible Static Analysis Framework for Android Applications
    Doshi, Shreyans
    Siddavatam, Irfan
    2018 FOURTH INTERNATIONAL CONFERENCE ON COMPUTING COMMUNICATION CONTROL AND AUTOMATION (ICCUBEA), 2018,
  • [24] A framework for the static verification of API calls
    Spinellis, Diomidis
    Louridas, Panagiotis
    JOURNAL OF SYSTEMS AND SOFTWARE, 2007, 80 (07) : 1156 - 1168
  • [25] Comparative Analysis of Two Approaches to Static Taint Analysis
    M. V. Belyaev
    N. V. Shimchik
    V. N. Ignatyev
    A. A. Belevantsev
    Programming and Computer Software, 2018, 44 : 459 - 466
  • [26] OVER: Overhauling Vulnerability Detection for IoT through an Adaptable and Automated Static Analysis Framework
    Sachidananda, Vinay
    Bhairav, Suhas
    Elovici, Yuval
    PROCEEDINGS OF THE 35TH ANNUAL ACM SYMPOSIUM ON APPLIED COMPUTING (SAC'20), 2020, : 729 - 738
  • [27] Comparative Analysis of Two Approaches to Static Taint Analysis
    Belyaev, M. V.
    Shimchik, N. V.
    Ignatyev, V. N.
    Belevantsev, A. A.
    PROGRAMMING AND COMPUTER SOFTWARE, 2018, 44 (06) : 459 - 466
  • [28] 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
  • [29] 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
  • [30] 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