This paper states the basic principle of program data flow analysis in a formal way and gives the concept of data flow expression. On the basis of this concept, an algorithm of finding data flow exceptions is rendered...This paper states the basic principle of program data flow analysis in a formal way and gives the concept of data flow expression. On the basis of this concept, an algorithm of finding data flow exceptions is rendered. This algorithm has great generality, with which it is easy to develop a tool for program test. So it is practical in application.展开更多
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.展开更多
A novel photometric calibration framework is presented for a projector-camera (ProCam) display system, which is currently under booming development. Firstly, a piecewise bilinear model and five 5-ary color coding im...A novel photometric calibration framework is presented for a projector-camera (ProCam) display system, which is currently under booming development. Firstly, a piecewise bilinear model and five 5-ary color coding images are used to construct the homography between the image planes of a projector and a camera. Secondly, a photometric model is proposed to describe the data flow of the ProCam display system for displaying color images on colored surface in a general way. An efficient self-calibration algorithm is correspondingly put forward to recover the model parameters. Aiming to adapt this algorithm to different types of ProCam display system robustly, a 3× 7 masking coupling matrix and a patches image with 1024 color samples are adopted to fit the complex channel interference function of the display system. Finally, the experimental results demonstrate the validity and superiority of this calibration algorithm for the ProCam display system.展开更多
文摘This paper states the basic principle of program data flow analysis in a formal way and gives the concept of data flow expression. On the basis of this concept, an algorithm of finding data flow exceptions is rendered. This algorithm has great generality, with which it is easy to develop a tool for program test. So it is practical in application.
基金The work was supported by the National Natural Science Foundation of China under Grant Nos.60973046 and 61300054the Qing Lan Project of Jiangsu Province of Chinathe 1311 Talent Program Funding of Nanjing University of Posts and Telecommunications.
文摘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.
文摘A novel photometric calibration framework is presented for a projector-camera (ProCam) display system, which is currently under booming development. Firstly, a piecewise bilinear model and five 5-ary color coding images are used to construct the homography between the image planes of a projector and a camera. Secondly, a photometric model is proposed to describe the data flow of the ProCam display system for displaying color images on colored surface in a general way. An efficient self-calibration algorithm is correspondingly put forward to recover the model parameters. Aiming to adapt this algorithm to different types of ProCam display system robustly, a 3× 7 masking coupling matrix and a patches image with 1024 color samples are adopted to fit the complex channel interference function of the display system. Finally, the experimental results demonstrate the validity and superiority of this calibration algorithm for the ProCam display system.