PP-CSA: Practical Privacy-Preserving Software Call Stack Analysis
Software call stack is a sequence of function calls that are executed during the runtime of a software program. Software call stack analysis (CSA) is widely used in software engineering to analyze the runtime behavior of software, which can be used to optimize the software performance, identify bugs, and profile the software. Despite the benefits of CSA, it has recently come under scrutiny due to concerns about privacy. To date, software is often deployed at user-side devices like mobile phones and smart watches. The collected call stacks may thus contain privacy-sensitive information, such as healthy information or locations, depending on the software functionality. Leaking such information to third parties may cause serious privacy concerns such as discrimination and targeted advertisement.
This paper presents PP-CSA, a practical and privacy-preserving CSA framework that can be deployed in real-world scenarios. Our framework leverages local differential privacy (LDP) as a principled privacy guarantee, to mutate the collected call stacks and protect the privacy of individual users. Furthermore, we propose several key design principles and optimizations in the technical pipeline of PP-CSA, including an encoder-decoder scheme to properly enforce LDP over software call stacks, and several client/server-side optimizations to largely improve the efficiency of PP-CSA. Our evaluation over real-world Java and Android programs shows that our privacy-preserving CSA pipeline can achieve high utility and privacy guarantees while maintaining high efficiency. We have released our implementation of PP-CSA as an open-source project at \url{https://anonymous.4open.science/r/PP-CSA} for results reproducibility. We will provide more detailed documents to support and the usage and extension of the community.
Wed 23 OctDisplayed time zone: Pacific Time (US & Canada) change
16:00 - 17:40 | Static Analysis and Program Verification 3OOPSLA 2024 at IBR East Chair(s): Frank Tip Northeastern University | ||
16:00 20mTalk | Enhancing Static Analysis for Practical Bug Detection: An LLM-Integrated Approach OOPSLA 2024 Haonan Li University of California at Riverside, USA, Yu Hao University of California at Riverside, USA, Yizhuo Zhai University of California at Riverside, USA, Zhiyun Qian University of California at Riverside, USA DOI | ||
16:20 20mTalk | PP-CSA: Practical Privacy-Preserving Software Call Stack Analysis OOPSLA 2024 Zhaoyu Wang HKUST, Pingchuan Ma HKUST, Huaijin Wang , Shuai Wang Hong Kong University of Science and Technology DOI | ||
16:40 20mTalk | Semantic-Type-Guided Bug Finding OOPSLA 2024 Kelvin Qian Johns Hopkins University, Scott F. Smith The Johns Hopkins University, Brandon Stride Johns Hopkins University, Shiwei Weng Johns Hopkins University, Ke Wu Johns Hopkins University DOI | ||
17:00 20mTalk | Seneca: Taint-Based Call Graph Construction for Java Object Deserialization OOPSLA 2024 Joanna C. S. Santos University of Notre Dame, Mehdi Mirakhorli Rochester Institute of Technology, Ali Shokri Virginia Tech DOI | ||
17:20 20mTalk | VeriEQL: Bounded Equivalence Verification for Complex SQL Queries with Integrity ConstraintsOOPSLA 2024 Distinguished Paper Award OOPSLA 2024 Yang He Simon Fraser University, Pinhan Zhao University of Michigan, Xinyu Wang University of Michigan, Yuepeng Wang Simon Fraser University DOI Pre-print |