Abstract
After verifying dynamic and static interprocedural slicing, we present a modular framework for static interprocedural slicing. To this end, we formalized the standard two-phase slicer from Horwitz, Reps and Binkley (see their TOPLAS 12(1) 1990 paper) together with summary edges as presented by Reps et al. (see FSE 1994). The framework is again modular in the programming language by using an abstract CFG, defined via structural and well-formedness properties. Using a weak simulation between the original and sliced graph, we were able to prove the correctness of static interprocedural slicing. We also instantiate our framework with a simple While language with procedures. This shows that the chosen abstractions are indeed valid.
License
Topics
Session HRB-Slicing
- AuxLemmas
- BasicDefs
- CFG
- CFGExit
- CFG_wf
- CFGExit_wf
- SemanticsCFG
- ReturnAndCallNodes
- Observable
- Postdomination
- SDG
- HRBSlice
- SCDObservable
- Distance
- Slice
- WeakSimulation
- FundamentalProperty
- Com
- ProcState
- PCFG
- WellFormProgs
- Interpretation
- Labels
- WellFormed
- ValidPaths
- ProcSDG
- JVMCFG
- JVMInterpretation
- JVMCFG_wf
- JVMPostdomination
- JVMSDG
- HRBSlicing