|
Static Value-Flow Analysis
|
#include <MTASlicer.h>
Public Member Functions | |
| SingleSlicer (SVFIR *svfIr, AndersenBase *pta, MHP *mhp, LockAnalysis *lockAnalysis, SVFG *vfg=nullptr) | |
| OrderedSet< const ICFGNode * > | runSlicing (const OrderedSet< const SVFStmt * > &vulnerableStatements) |
Public Member Functions inherited from SVF::MTASlicerBase | |
| MTASlicerBase (SVFIR *svfIr, AndersenBase *pta, MHP *mhp, LockAnalysis *lockAnalysis, SVFG *vfg=nullptr) | |
| virtual | ~MTASlicerBase () |
SingleSlicer - Unified slicer combining synchronization, data, and call dependence into ONE slice (the single-pass baseline, MSli §3/§5.4: the transitive closure of the target statements under the combined dependence graph). Both ILA and FSPTA run on this single slice, so V_ILA, V_PTA subset V_Single. Used by the differential-slicing ablation (-mta-slicing-single).
Iteratively applies data dependence (over the thread-aware VFG_pre) and call dependence until convergence, then a single dual-slicing pass.
Definition at line 258 of file MTASlicer.h.
| SVF::SingleSlicer::SingleSlicer | ( | SVFIR * | svfIr, |
| AndersenBase * | pta, | ||
| MHP * | mhp, | ||
| LockAnalysis * | lockAnalysis, | ||
| SVFG * | vfg = nullptr |
||
| ) |
Definition at line 1046 of file MTASlicer.cpp.
| OrderedSet< const ICFGNode * > SVF::SingleSlicer::runSlicing | ( | const OrderedSet< const SVFStmt * > & | vulnerableStatements | ) |
Perform unified slicing combining synchronization, data, and call dependence.
| vulnerableStatements | Set of vulnerable statements to start slicing from |
Definition at line 1055 of file MTASlicer.cpp.