Research of Property and Extending of Modular Monadic Slicing
|Course||Computer Software and Theory|
|Keywords||program slicing modular monadic slicing termination coincidence point-to analysis|
Program slicing is a family of program decomposition techniques. Because traditional program slicing methods lack modularity and flexibility, we had proposed a new formal method for program slicing—modular monadic slicing. At present, there has been some research on the basic theory of modular monadic slicing. However, some important aspects of modular monadic slicing theory haven’t been study, and the language mechanism that can be addressed by modular monadic slicing is still limited. On this background, this paper studies two aspects of the basic theory of modular monadic slicing and extends it to handle pointers.The main work includes: (1) The proof of the termination of modular monadic slicing algorithm. We obtain the result with the use of denotational technique and fixed-point theory. (2) Defining the coincidence between the modular monadic method and the dependence graph method. (3) Modular monadic slicing for programs with pointers. This paper presents an approach to extend the modular monadic slicing for handling pointers. With the illumination of forward program slicing, our approach obtains the point-to information by the data-flow iteration. Being different from the traditional methods where the point-to information and slicing are analyzed in two different phases, they are computed in the same phase in our method, through combining the forward monad slicing with data-flow iteration. It shows that our approach has high precision, and needs less space compared with traditional data-flow iteration methods.