An efficient interprocedural dynamic slicing method

Journal of Systems and Software - Tập 79 - Trang 791-806 - 2006
G.B. Mund1, Rajib Mall2
1Department of Computer Science and Engineering, Kalinga Institute of Industrial Technology, Bhubaneswar 751024, India
2Department of Computer Science and Engineering, Indian Institute of Technology, Kharagpur 721302, India

Tài liệu tham khảo

Agrawal, H., 1992. Towards automatic debugging of computer programs. Ph.D. Thesis. Purdue University. Agrawal, H., 1994. On slicing programs with jump statements. In: Proceedings of the ACM SIGPLAN 1994 Conference on Programming Languages and Implementation, Orlando, Florida, SIGPLAN Notices, vol. 29(6), pp. 302–312. Agrawal, H., Horgan, J., 1990. Dynamic program slicing. In: Proceedings of the ACM SIGPLAN’90 Conference on Programming Language Design and Implementation, SIGPLAN Notices, Analysis and Verification, White Plains, New York, vol. 25(6), pp. 246–256. Agrawal, H., Demillo, R.A., Spafford, E.H., 1991a. Dynamic slicing in the presence of unconstrained pointers. In Proceedings of the ACM Fourth Symposium on Testing, Analysis, and Verification (TAV4), pp. 60–73. Agrawal, H., DeMillo, R.A., Spafford, E.H., 1991b. Dynamic slicing in the presence of unconstrained pointers. In: Proceedings of the ACM Fourth Symposium on Testing, Analysis and Verification, TAV4, New York, pp. 60–73. Agrawal, 1993, Debugging with dynamic slicing and backtracking, Software—Practice and Experience, 23, 589, 10.1002/spe.4380230603 Aho, 1986 Ball, T., 1993. The use of control flow and control dependence in software tools. Ph.D. Thesis. Computer Science Department, University of Wisconsin, Madison. Ball, 1993, Slicing programs with arbitrary control flow, 206 Beszédes, A., Gergely, T., Szabó, Z.M., Csirik, J., Gyimóthy, T., 2001. Dynamic slicing method for maintenance of large C programs. In: Proceedings of the 5th European Conference on Software Maintenance and Reengineering, Lisbon, Portugal, pp. 105–113. Beszédes, A., Faraǵo, C., Szabó, Z.M., Csirik, J., Gyimóthy, T., 2002. Union slices for program maintenance. In: Proceedings of the International Conference on Software Maintenance, Montreal, pp. 12–21. Binkley, 1998, The application of program slicing to regression testing, Information and Software Technology, 40, 583, 10.1016/S0950-5849(98)00085-8 Binkley, 1996, Program slicing, vol. 43, 1 Choi, J.D., 1989. Parallel program debugging with flowback analysis. Ph.D. Thesis. University of Wisconsin, Madison. Choi, 1994, Static slicing in the presence of goto statements, ACM Transactions on Programming Languages and Systems, 16, 1097, 10.1145/183432.183438 Daninic, S., De Lucia, A., Harman, M., 2004. Building executable union slices using conditioned slicing. In: Proceedings of the 12th IEEE International Workshop on Program Comprehension (IWPC’04). De Lucia, A., 2001. Program slicing: methods and applications. In: IEEE Proceedings of Workshop on Source Code Analysis and Manipulation, Florence, pp. 142–149. De Lucia, 1996, Understanding function behaviors through program slicing, 9 De Lucia, A., Harman, M., Hierons, R., Krinke, J., 2003. Union of slices are not slices. In: Proceedings of the European Conference on Software Maintenance and Reengineering (CSMR’03), Benevento, Italy. Dhamdhere, 2003, A compact execution history for dynamic slicing, Information Processing Letters, 85, 145, 10.1016/S0020-0190(02)00322-8 Ferrante, 1987, The program dependence graph and its use in optimization, ACM Transactions on Programming Languages and Systems, 9, 319, 10.1145/24039.24041 Gallagher, 1991, Using program slicing in software maintenance, IEEE Transactions on Software Engineering, SE-17, 751, 10.1109/32.83912 Gopal, R., 1991. Dynamic program slicing based on dependence relations. In: Proceedings of the IEEE Conference on Software Maintenance, pp. 191–200. Goswami, 2002, An efficient method for computing program slices, Information Processing Letters, 81, 111, 10.1016/S0020-0190(01)00202-2 Gupta, R., Soffa, M.L., 1995. Hybrid slicing: an approach for refining static slices using dynamic information. In: Proceedings of the 3rd ACM SIGSOFT Symposium on Foundations of Software Engineering, Washington, DC, USA, pp. 29–40. Gupta, 1992, An approach to regression testing using slicing, 299 Gupta, 1996, Program slicing-based regression testing techniques, Journal of Software Testing, Verification and Reliability, 6, 83, 10.1002/(SICI)1099-1689(199606)6:2<83::AID-STVR112>3.0.CO;2-9 Gupta, 1997, Hybrid slicing: integrating dynamic information with static analysis, ACM Transactions on Software Engineering and Methodology, 6, 370, 10.1145/261640.261644 Harman, 1998, A new algorithm for slicing unstructured programs, Journal of Software Maintenance: Research and Practice, 10, 415, 10.1002/(SICI)1096-908X(199811/12)10:6<415::AID-SMR180>3.0.CO;2-Z Harman, 1998, Program slicing, Information and Software Technology, 40, 577, 10.1016/S0950-5849(98)00084-6 Harman, 2001, An overview of program slicing, Software Focus, 2, 85, 10.1002/swf.41 Horwitz, 1990, Interprocedural slicing using dependence graphs, ACM Transactions on Programming Languages and Systems, 12, 26, 10.1145/77606.77608 Huynh, D., Song, Y., 1997. Forward computation of dynamic slices in the presence of structured jump statements. In: Proceedings of ISACC’97, Monterrey, Mexico, pp. 73–81. Hwang, J., Du, M., Chou, C., 1988. Finding program slices for recursive procedures. In: Proceedings of the 12th Annual International Computer Software and Applications Conference, COMPSAC ’88, Chicago, pp. 220–227. Jiang, J., Zhou, X., Robson, D., 1991. Program slicing for C—the problems in implementation. In: Proceedings of the Conference on Software Maintenance, pp. 182–190. Kamkar, M., 1993. Interprocedural dynamic slicing with applications to debugging and testing. Ph.D. Thesis. Linkoping University, Sweden. Kamkar, 1998, Application of program slicing in algorithmic debugging, Information and Software Technology, 40, 637, 10.1016/S0950-5849(98)00088-3 Kamkar, M., Krajina, P., 1995. Dynamic slicing of distributed programs. In: Proceeding of International Conference on Software Maintenance, Opio, France, pp. 222–229. Kamkar, 1992, Interprocedural dynamic slicing, 370 Kamkar, 1993, Three approaches to interprocedural dynamic slicing, Microprocessors and Microprogramming, 38, 625, 10.1016/0165-6074(93)90203-W Kamkar, M., Fritzson, P., Shahmehri, N., 1993b. Interprocedural dynamic slicing applied to interprocedural data-flow testing. In: Proceedings of the Conference on Software Maintenance, Montreal, Canada, pp. 386–395. Korel, 1997, Computation of dynamic program slices for unstructured programs, IEEE Transactions on Software Engineering, 23, 17, 10.1109/32.581327 Korel, 1992, Dynamic slicing of distributed programs, Applied Mathematics and Computer Science, 2, 199 Korel, 1988, Dynamic program slicing, Information Processing Letters, 29, 155, 10.1016/0020-0190(88)90054-3 Korel, 1990, Dynamic slicing of computer programs, Journal of Systems and Software, 13, 187, 10.1016/0164-1212(90)90094-3 Korel, 1998, Dynamic program slicing methods, Information and Software Technology, 40, 647, 10.1016/S0950-5849(98)00089-5 Korel, B., Yalamanchili, S., 1994. Forward computation of dynamic program slices. In: Proceedings of the International Symposium on Software Testing and Analysis (ISSTA), Seattle, Washington, pp. 66–79. Kumar, S., Horwitz, S., 2002. Better slicing of programs with jump and switches. In: Proceedings of FASE 2002, Grenoble, France, pp. 96–112. Lyle, J., 1984. Evaluating variations on program slicing for debugging. Ph.D. Thesis. University of Maryland, College Park. Mall, 1999 Mall, R., Chakraborty, A., 2002. An approach to prioritize test cases for object-oriented programs. In: Proceedings of the International Workshop on Software Design and Architecture (SoDA 2002), Chennai, India, pp. 21–32. Mund, G.B., 2003. Efficient dynamic slicing of programs. Ph.D. Thesis. Indian Institute of Technology, Kharagpur. Mund, 2002, An efficient dynamic program slicing technique, Information and Software Technology, 44, 123, 10.1016/S0950-5849(01)00224-5 Mund, 2002, Program Slicing, 265 Mund, 2003, Computation of intraprocedural dynamic program slices, Information and Software Technology, 45, 499, 10.1016/S0950-5849(03)00029-6 Ott, 1998, Program slices as an abstraction for cohesion measurement, Information and Software Technology, 40, 691, 10.1016/S0950-5849(98)00092-5 Ottenstein, K., Ottenstein, L., 1984. The program dependence graph in software development environment. In: Proceedings of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, SIGPLAN Notices, vol. 19(5), pp. 177–184. Podgurski, 1990, A formal model of program dependences and its implications for software testing, debugging, and maintenance, IEEE Transactions on Software Engineering, 16, 965, 10.1109/32.58784 Reps, 1998, Program analysis via graph reachability, Information and Software Technology, 40, 701, 10.1016/S0950-5849(98)00093-7 Reps, T., Horwitz, S., Sagiv, M., 1995. Precise interprocedural data-flow analysis via graph reachability. In: Conference Record of the 22nd ACM Symposium on Principles of Programming Languages, San Franscisco, CA, January 23–25, New York, pp. 49–61. Rilling, J., Karanth, B., 2001. A hybrid program slicing framework. In: Proceedings of the First IEEE Workshop on Source Code Analysis and Manipulation, Florence, Italy. Sethi, 1996 Shahmehri, N., 1991. Generalized algorithmic debugging. Ph.D. Thesis. Linkoping University, Sweden. Shimomura, 1992, The program slicing technique and its application to testing, debugging, and maintenance, Journal of IPS of Japan, 9, 1078 Tip, 1995, A survey of program slicing techniques, Journal of Programming Languages, 3, 121 Weiser, M., 1979. Program slices: formal, psychological, and practical investigations of an automatic program abstraction method. Ph.D. Thesis. University of Michigan, Ann Arbor, MI. Weiser, 1982, Programmers use slices when debugging, Communications of the ACM, 25, 446, 10.1145/358557.358577 Weiser, 1984, Program slicing, IEEE Transactions on Software Engineering, 10, 352, 10.1109/TSE.1984.5010248 Xu, 2005, A brief survey of program slicing, ACM SIGSOFT Software Engineering Notes, 30, 1, 10.1145/1050849.1050865 Zhang, X., Gupta, R., Zhang, Y., 2003. Precise dynamic slicing. In: Proceedings of the 25th International Conference on Software Engineering, Portland, Oregon, pp. 319–329.