Program slicing is a technique for program analysis and transformation with many different applications such as program debugging, program specialization, and parallelization. The system dependence graph (SDG) is the most commonly used data structure for program slicing. In this paper, we show that the presence of exception-handling constructs can make the SDG produce incorrect and sometimes even incomplete slices. We showcase the instances of incorrectness and incompleteness and we propose a framework for correctly handling exception-related instructions, which includes representation of all possible exception throwing and catching mechanisms, and a new kind of control dependence: conditional control dependence; which produces more precise slices in the presence of catch statements.
Thu 19 NovDisplayed time zone: Central Time (US & Canada) change
03:00 - 04:20 | |||
03:00 20mPaper | Program Slicing with Exception Handling TAPAS | ||
03:20 20mPaper | MetaCG: Annotated call-graphs to facilitate whole-program analysis TAPAS Jan-Patrick Lehr Scientific Computing, TU Darmstadt, Alexander Hück Institute for Scientific Computing, TU Darmstadt, Yannic Fischler TU Darmstadt, Christian Bischof Scientific Computing, TU Darmstadt | ||
03:40 20mPaper | Data Dependence for Object-Oriented Programs TAPAS | ||
04:00 20mPaper | Type checking beyond type checkers, via Slice & Run TAPAS Pre-print |