CAPS: an Efficient Whole-Program Critical Paths Search Framework for Large-Scale Software.

Peiyang Li,Zixin Liu,Yuening Su,Hao Wang,Bo Jiang
DOI: https://doi.org/10.18293/seke2023-123
2023-01-01
Abstract:Tracking the flow of external inputs in a program with taint-analysis techniques can help developers better identify potential security vulnerabilities in the software.However, directly using the static taint analysis provided by Clang Static Analyzer is inefficient for large-scale software due to the huge but redundant ExplodedGraph generated.Therefore, we propose an efficient Whole-Program Critical Paths Search (CAPS) framework.It first performs a set of optimizations to reduce the ExplodedGraph of each function.Then, it constructs a global exploded graph by inserting call edges among the reduced ExplodedGraphs for each function within the Neo4j graph database.Finally, it proposes loop removal and graph segmentation to optimize the search process for critical paths on the global exploded graph.Our experiments on 3 large-scale software show that CAPS can significantly improve the efficiency of critical path search for large-scale software.
What problem does this paper attempt to address?