Skip to main navigation Skip to search Skip to main content

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

  • Peiyang Li
  • , Zixin Liu
  • , Yuening Su
  • , Hao Wang
  • , Bo Jiang*
  • *Corresponding author for this work
  • Beihang University

Research output: Contribution to journalConference articlepeer-review

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.

Original languageEnglish
Pages (from-to)169-174
Number of pages6
JournalProceedings of the International Conference on Software Engineering and Knowledge Engineering, SEKE
Volume2023-July
DOIs
StatePublished - 2023
Event35th International Conference on Software Engineering and Knowledge Engineering, SEKE 2023 - Hybrid, San Francisco, United States
Duration: 1 Jul 202310 Jul 2023

Keywords

  • Clang Static Analyzer
  • ExplodedGraph
  • component
  • critical path search
  • static analysis
  • taint analysis

Fingerprint

Dive into the research topics of 'CAPS: An Efficient Whole-Program Critical Paths Search Framework for Large-Scale Software'. Together they form a unique fingerprint.

Cite this