期刊文献+
共找到1篇文章
< 1 >
每页显示 20 50 100
SymPas:Symbolic Program Slicing 被引量:1
1
作者 Ying-Zhou Zhang 《Journal of Computer Science & Technology》 SCIE EI CSCD 2021年第2期397-418,共22页
Program slicing is a technique for simplifying programs by focusing on selected aspects of their behavior.Current mainstream static slicing methods operate on dependence graph PDG(program dependence graph)or SDG(syste... Program slicing is a technique for simplifying programs by focusing on selected aspects of their behavior.Current mainstream static slicing methods operate on dependence graph PDG(program dependence graph)or SDG(system dependence graph),but these friendly graph representations may be a bit expensive for some users.In this paper we attempt to study a light-weight approach of static program slicing,called Symbolic Program Slicing(SymPas),which works as a dataflow analysis on LLVM(low-level virtual machine).In our SymPas approach,slices are stored in symbolic forms,not in procedures being re-analyzed(cf.procedure summaries).Instead of re-analyzing a procedure multiple times to find its slices for each callling context,we calculate a single symbolic slice which can be instantiated at call sites avoiding re-analysis;SymPas is implemented with LLVM to perform slicing on LLVM intermediate representation(IR).For comparison,we systematically adapt IFDS(interprocedural finite distributive subset)analysis and the SDG-based slicing method(SDGIFDS)to statically slice IR programs.Evaluated on open-source and benchmark programs,our backward SymPas shows a factor-of-6 reduction in time cost and a factor-of-4 reduction in space cost,compared with backward SDG-IFDS,thus being more efficient.In addition,the result shows that after studying slices from 66 programs,ranging up to 336800 IR instructions in size,SymPas is highly size-scalable. 展开更多
关键词 data flow analysis instruction dependency table low-level virtual machine(LLVM) procedure symbolic slice program slicing
原文传递
上一页 1 下一页 到第
使用帮助 返回顶部