Scalpel: The Python Static Analysis Framework

Li Li,Jiawei Wang,Haowei Quan
DOI: https://doi.org/10.48550/arXiv.2202.11840
2022-02-24
Software Engineering
Abstract:Despite being the most popular programming language, Python has not yet received enough attention from the community. To the best of our knowledge, there is no general static analysis framework proposed to facilitate the implementation of dedicated Python static analyzers. To fill this gap, we design and implement such a framework (named Scalpel) and make it publicly available as an open-source project. The Scalpel framework has already integrated a number of fundamental static analysis functions (e.g., call graph constructions, control-flow graph constructions, alias analysis, etc.) that are ready to be reused by developers to implement client applications focusing on statically resolving dedicated Python problems such as detecting bugs or fixing vulnerabilities.
What problem does this paper attempt to address?