Software Analysis through Selection Program Slicing

선택 프로그램 슬라이싱을 이용한 소프트웨어 분석

  • 박수희 (동덕여자대학교 컴퓨터학과)
  • Published : 2001.06.01

Abstract

시스템이 진화와 노화를 거듭하는 경우 프로그램을 이해하는데 있어서 가장 정확한 문서는 기존의 시스템 자체에서 추출되어진 정보이다. 프로그램의 이해를 돕기 위한 분석기법중의 하나인 프로그램 슬라이싱은 1984년 Weiser에 의해서 소개되어진 이후 다양한 방향으로 연구가 진행되어져 왔다. 특히, 생성되어지는 프로그램 슬라이스가 사이즈가 크고 충분히 집약적이지 못하다는 문제점과 슬라이스의 계산방법이 효율적이지 못하다는 문제점을 극복하기 위하여 여러 가지 방법들을 시도되어 왔다. 본 논문은 고전적인 슬라이싱 기준에 새로운 파라미터를 추가함으로써 제외개념을 이용하여 보다 함수적으로 응집력있고, 사이즈가 작은 슬라이스를 생성하는 선택 슬라이스를 제시하며 이 선택슬라이스를 계산하기 위한 효율적인 방법을 기술한다. 데이터와 제어의 흐름을 이용하여 선택 슬라이싱을 정의하고, 선택 슬라이싱을 위한 종속그래프를 정의하고 이를 사용하여 선형적 시간 내에 선택 슬라이스를 생성하는 알고리즘을 기술한다.

Keywords

References

  1. B. P. Leintz and E. F. Swanson, Software Maintenance Management, Addison-Wesley, 1980
  2. Mark Weiser, Program Slicing, IEEE Transactions on Software Engineering, 10-4, July 1984
  3. K.B. Gallagher and J.R, Lyle, Using Program Slices in Maintenance, IEEE Transactions on Software Engineering, 17-8, August, 1991 https://doi.org/10.1109/32.83912
  4. F. Lanubile and G. Visaggio, Extracting Reusable Functions by Program Slicing, IEEE Transactions on Software Engineering, vol23. no4. 1997. 4 https://doi.org/10.1109/32.588543
  5. P.A. Hausler, M.G. Pleszkoch, R. Linger and A.R. Hevner, Using Function Abstraction to Understand Program Behavior, IEEE Software, January, 1990 https://doi.org/10.1109/52.43050
  6. F. Cutillo, F. Lanubile and G. Vissaggio, Extracting Application Domain Functions From Old Code: A Real Experience, Proceedings, Second Workshop on Program Comprehension, IEEE, Capri, July, 1993
  7. J Jiang, X Zhou, and D Robson, Program Slicing For C - The Problems In Implementation, 11th International Conference on Software Engineering, IEEE Computer Society Press, 1991 https://doi.org/10.1109/ICSM.1991.160328
  8. W. Kozaczynski and J. Ning, SRE: A Knowledge-based Environment for Large-scale Software Re-engineering Activities, Proceedings of Eleventh International Conference on Software Engineering, IEEE, Pittsburgh, 1989
  9. A Cimitile, A. De Lucia, and M. Munro, Identifying Reusable Functions Using Specification Driiven Program Slicing: A Case Study, Proceedings of IEEE Internation Conference on Software Mainteance, Nice, France, Oct. 1995, IEEE Camp. Soc. Press, pp.124-133
  10. D. W. Binkley, and K. B. Gallagher, Program Slicing, Advances in Computers, 1996
  11. S. Horwitz, T. Reps, and D. Binkley, Inter-procedural Slicing Using Dependence Graphs, ACM Transaction on Programming Languages and Systems, vol 12. no. 1, 1990. 1 https://doi.org/10.1145/77606.77608
  12. L. Larsen, and M. J. Harrold, Slicing Object-oriented Software, Proceedings of the 1996 International Conference on Software Engineering, Berlin, March, 1996
  13. J. R. Lyle, and M. D. Weiser, Automatic Program Bug Location by Program Slicing, Proceedings of the 2nd International Conference on Computers and Applications, Peking, China, June 1987
  14. H. Agrawal, and J. R. Horgan, Dynamic Program Slicing, Proceedings of the ACM SIGPLAN'90 Conference on Programming Language Design and Implementation, June, 1990 https://doi.org/10.1145/93542.93576
  15. B. Karel, and J. Laski, Dynamic Program Slicing, Information Processing Letters, vol.29, no.3, October 1988 https://doi.org/10.1016/0020-0190(88)90054-3
  16. G. Canfora, A. Cimitile, A. De Lucia, and G. A. Di Lucca, 'Software Salvaging based on Conditions,' Proceedings of International Conference on Software Maintenance, Victoria, Canada, September 1994 https://doi.org/10.1109/ICSM.1994.336752
  17. J. Ferrante, K. Ottenstein, and J. Warren, The Program Dependence Graph and its Use in Optimization, ACM Transaction on Programming Languages and Systems, vol. 9, no.3, 1987 https://doi.org/10.1145/24039.24041
  18. Slicing Multi-threaded Java Programs: A Case Study, Technical Report KSU CIS 99-7, Kansas State University, 1999
  19. A. Lucia, A. Fasolino, and M. Munro, Understanding Function Behaviors through Program Slicing, Proceedings of 4th IEEE Workshop on Program Comprehension, Berlin, Germany, March 1996 https://doi.org/10.1109/WPC.1996.501116
  20. D. Jacson and J. Eugene, Abstraction Mechanisms for Pictorial Slicing, Proc. Workshop on Program Comprehension, Washington, DC, Nov. 1994 https://doi.org/10.1109/WPC.1994.341254
  21. F. Tip, A Survey of Program Slicing Techniques, Journal of Programming Languages, 3(3): 121189, Sep 1995