Chopping: A Generalization of Slicing

作者: Eugene J. Rollins , Daniel Jackson

DOI:

关键词: SlicingAlgorithmSingle nodeProgram slicingGraphModular designTheoretical computer scienceComputer science

摘要: A new method for extracting partial representations of a program is described. Given two sets variable instances, source and sink, graph constructed showing the statements that cause definitions to affect uses sink. This criterion can express wider range queries than various forms slice criteria, which it subsumes as special cases. On standard (backward slicing from use or definition) produces better reults existing algorithms. The modular. By treating all abstractly def-use relations, present procedure call simple statement, so appears in single node whose role may be understood without looking beyond context call.

参考文章(32)
Ravi Sethi, Jeffrey D. Ullman, Alfred V. Aho, Compilers: Principles, Techniques, and Tools ,(1986)
John V. Guttag, Daniel Jackson, Aspect: a formal specification language for detecting bugs Massachusetts Institute of Technology. ,(1992)
Thomas Reps, Wuu Yang, The Semantics of Program Slicing and Program Integration TAPSOFT '89 Proceedings of the International Joint Conference on Theory and Practice of Software Development, Volume 2: Advanced Seminar on Foundations of Innovative Software Development II and Colloquium on Current Issues in Programming Languages. pp. 360- 374 ,(1989) , 10.1007/3-540-50940-2_47
J.C. Hwang, M.W. Du, C.R. Chou, Finding program slices for recursive procedures computer software and applications conference. pp. 220- 227 ,(1988) , 10.1109/CMPSAC.1988.17176
Lawrence Markosian, Philip Newcomb, Russell Brand, Scott Burson, Ted Kitzmiller, Using an enabling technology to reengineer legacy systems Communications of The ACM. ,vol. 37, pp. 58- 70 ,(1994) , 10.1145/175290.175297
Jim Q. Ning, Andre Engberts, W. Voytek Kozaczynski, Automated support for legacy code understanding Communications of The ACM. ,vol. 37, pp. 50- 57 ,(1994) , 10.1145/175290.175295
William Landi, Barbara G. Ryder, A safe approximate algorithm for interprocedural pointer aliasing ACM SIGPLAN Notices. ,vol. 39, pp. 473- 489 ,(2004) , 10.1145/989393.989440
Jean-Francois Bergeretti, Bernard A. Carré, Information-flow and data-flow analysis of while-programs ACM Transactions on Programming Languages and Systems. ,vol. 7, pp. 37- 61 ,(1985) , 10.1145/2363.2366
Ron Cytron, Jeanne Ferrante, Barry K. Rosen, Mark N. Wegman, F. Kenneth Zadeck, Efficiently computing static single assignment form and the control dependence graph ACM Transactions on Programming Languages and Systems. ,vol. 13, pp. 451- 490 ,(1991) , 10.1145/115372.115320
E. Cartwright, M. Felleisen, The semantics of program dependence Proceedings of the ACM SIGPLAN 1989 Conference on Programming language design and implementation - PLDI '89. ,vol. 24, pp. 13- 27 ,(1989) , 10.1145/73141.74820