Affiliation:
1. Hong Kong University of Science and Technology, China
2. Sourcebrella, China
Abstract
When dealing with millions of lines of code, we still cannot have the cake and eat it: sparse value-flow analysis is powerful in checking source-sink problems, but existing work cannot escape from the “pointer trap” – a precise points-to analysis limits its scalability and an imprecise one seriously undermines its precision. We present Pinpoint, a holistic approach that decomposes the cost of high-precision points-to analysis by precisely discovering local data dependence and delaying the expensive inter-procedural analysis through memorization. Such memorization enables the on-demand slicing of only the necessary inter-procedural data dependence and path feasibility queries, which are then solved by a costly SMT solver. Experiments show that Pinpoint can check programs such as MySQL (around 2 million lines of code) within 1.5 hours. The overall false positive rate is also very low (14.3% - 23.6%). Pinpoint has discovered over forty real bugs in mature and extensively checked open source systems. And the implementation of Pinpoint and all experimental results are freely available.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference55 articles.
1. Alex Aiken Suhabe Bugrara Isil Dillig Thomas Dillig Brian Hackett and Peter Hawkins. 2006. The Saturn Program Analysis System. Stanford University. Alex Aiken Suhabe Bugrara Isil Dillig Thomas Dillig Brian Hackett and Peter Hawkins. 2006. The Saturn Program Analysis System. Stanford University.
2. FlowDroid
3. Calysto
4. The SLAM project
5. A few billion lines of code later
Cited by
10 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Finding and Understanding Defects in Static Analyzers by Constructing Automated Oracles;Proceedings of the ACM on Software Engineering;2024-07-12
2. Precise Sparse Abstract Execution via Cross-Domain Interaction;Proceedings of the IEEE/ACM 46th International Conference on Software Engineering;2024-04-12
3. Enriching the Semantics of Information Flow Tracking with Source-Level Memory Allocation Event Logging;2023 IEEE Conference on Dependable and Secure Computing (DSC);2023-11-07
4. An Efficient Metric-Based Approach for Static Use-After-Free Detection;2022 IEEE Intl Conf on Parallel & Distributed Processing with Applications, Big Data & Cloud Computing, Sustainable Computing & Communications, Social Computing & Networking (ISPA/BDCloud/SocialCom/SustainCom);2022-12
5. HTFuzz: Heap Operation Sequence Sensitive Fuzzing;Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering;2022-10-10