An approach of monadic slicing for interprocedural programs

被引:0
作者
Zhang, Ying-Zhou [1 ,2 ,3 ,4 ]
Fu, Wei [1 ]
机构
[1] College of Computer, Nanjing University of Posts and Telecommunications, Nanjing
[2] Guangxi Key Laboratory of Trusted Software, Guilin University of Electronic Technology, Guilin
[3] Jiangsu High Technology Research Key Laboratory for Wireless Sensor Networks, Nanjing
[4] Key Lab. of Broadband Wireless Communication and Sensor Network Technology, Nanjing
来源
Tien Tzu Hsueh Pao/Acta Electronica Sinica | 2013年 / 41卷 / 08期
关键词
Compositionality; Dependences among the parameters; Interprocedural programs; Modular monadic semantics; Monadic slicing methods;
D O I
10.3969/j.issn.0372-2112.2013.08.001
中图分类号
学科分类号
摘要
Program slicing is a technique for simplifying programs by focusing on selected aspects of semantics. This paper extends our previously presented intraprocedural monadic slicing to handle procedures. It presents backfilling labels based monadic approach to compute static slices of a program with call-by-value-result procedures. It first uses some given labels to initialize the monadic slices of the corresponding formal parameters at the beginning of a procedure; then analyzes this procedure through intraprocedural monadic slicing methods, whose slice result can be used to obtain the dependences among the parameters. It lastly obtains the final slice tables by backfilling the corresponding given labels. The algorithms in this paper make the best of the slice result from intraprocedural monadic slicing algorithms, without the need of a characteristic graph, a system dependence graph, or similar intermediate structure. They can also address calling-context problem through the dependence relations among the corresponding parameters. Furthermore, they reserve the excellent properties of compositionality and language-flexibility from intraprocedural monadic slicing algorithms.
引用
收藏
页码:1457 / 1461
页数:4
相关论文
共 14 条
[1]  
Weiser M., Program slicing, IEEE Transactions on Software Engineering, 16, 5, pp. 498-509, (1984)
[2]  
Ottenstein K.J., Ottenstein L.M., The program dependence graph in a software development environment, ACM Sigplan Notices, 19, 5, pp. 177-184, (1984)
[3]  
Horwitz S., Reps T., Binkley D., Interprocedural slicing using dependence graphs, ACM Transactions on Programming Languages and Systems, 12, 1, pp. 26-60, (1990)
[4]  
Tip F., A survey of program slicing techniques, Journal of Programming Languages, 3, 3, pp. 121-189, (1995)
[5]  
Binkley D., Gallagher K.B., Program slicing, Advances in Computers, 43, pp. 1-50, (1996)
[6]  
Zhang Y.Z., Xu B.W., Shi L., Li B.X., Yang H.J., Modular monadic program slicing, 28th Annual International Computer Software and Applications Conference, COMPSAC 2004, pp. 66-71, (2004)
[7]  
Zhang Y.Z., Xu B.W., An approach to dynamic program slicing based on modular monadic semantics, Chinese Journal of Computers, 29, 4, pp. 526-534, (2006)
[8]  
Zhang Y.Z., Xu B.W., A novel formal approach to program slicing, Science in China, Series E: Information Sciences, 38, 2, pp. 161-176, (2008)
[9]  
Moggi E., An abstract view of programming languages, (1989)
[10]  
Wansbrough K., A modular monadic action semantics, (1997)