Static Slicing of First-Order Functional Language based on Operational Semantics

오퍼레이셔널 의미에 기반한 일차 함수형 언어의 정적 분할

  • 안준선 (한국과학기술원 전자전산학과) ;
  • 한태숙 (한국과학기술원 전자전산학과 전산학)
  • Published : 2000.08.15

Abstract

Static slice means a set of parts of a program that potentially affect the values computed at a slicing criterion considering all the possible input values. In this paper, we have formally defined static slice of a first-order functional language based on operational semantics. And, we have presented a sound method to analyze static slice using abstract interpretation.

정적 분할이란 가능한 모든 입력값을 고려할 때 프로그램 내의 한 지점에서 계산되는 값에 영향을 줄 수 있는 프로그램 부분들의 집합을 말한다. 본 논문에서는 일차 함수형 언어의 오퍼레이셔널 의미 정의에 기반하여 정적 분할을 정형적으로 정의하고 요약 해석을 통한 정적 분할의 분석 방법을 제시 하였으며, 제시된 분석 방법이 건전함을 증명하였다.

Keywords

References

  1. M. Weiser. 'Program slicing,' IEEE Transactions on Software Engineering, Vol. 10 No.4 pp.352-357, April 1984
  2. Frank Tip, 'A survey of program slicing techniques,' Technical Report CS-R9438, Centrum voor Wiskunde en Informatica, 1994
  3. B. Korel and J. Laski, 'Dynamic program slicing,' Information Processing Letters, Vol. 29, pp. 155-163, 1988 https://doi.org/10.1016/0020-0190(88)90054-3
  4. Hiralal Agrawal and Joseph R. Horgan, 'Dynamic program slicing'. In Proceedings of the ACM SIGPLAN '90 Conference on Programming Language Design and Implementation, pp. 246-256, June 1990 https://doi.org/10.1145/93542.93576
  5. G. A. Venkatesh, 'The semantic approach to program slicing,' In Proceedings of the ACM SIGPLAN '91 Conference on Programming Language Design and implementation, pp. 107-119, June, 1991 https://doi.org/10.1145/113445.113455
  6. Sandip K. Biswas, Dynamic Slicing in Higher-Order Program Languages, PhD thesis, University of Pennsylvania, 1998
  7. Flemming Nielson, 'A denotational framework for data flow analysis,' Acta Informatica, Vol. 18, pp. 265-287, 1982 https://doi.org/10.1007/BF00263194
  8. Neil D. Jones and Alan Mycroft, 'Data flow analysis of applicative programmings using minimal function graphs : abridged version,' In Proceedings of the 13th ACM Symposium on Principles of Programming Languages, pp. 296-306, Florida, January, 1986
  9. Patrick Cousot and Radhia Cousot, 'Abstract interpretation: A unified lattice model for static analysis of programs by construction or approximation of fixpoints.' In Proceedings of the 4th ACM Symposium on Principles of Programming Languages, pp. 238-252, Los Angeles, California, January, 1977 https://doi.org/10.1145/512950.512973
  10. Joonseon Ahn and Taisook Han, 'Static Slicing of a First-Order Functional Language base on Operational Semantics,' Technical Report CS/TR-99-144, KAIST, 1999
  11. Joonseon Ahn and Taisook Han, 'Analysis of Parallelism in Recursive Functions on Recursive Data Structures,' In Proceedings of the International Workshop on Implementation of Declarative Languages, Paris, France, September, 1999