An Efficient Incremental Evaluation Technique Using an Extended Dependency Chart

확장된 종속차트를 사용한 효율적인 점진 평가 방법

  • Published : 2009.04.30

Abstract

There have been numerous researches in minimizing the total cost of program development in order to improve productivity of the programs. The incremental evaluation is the evaluation method of reevaluating only affected parts instead of reevaluating overall program when the program has been changed. Since the incremental evaluation method carries its advantage, the method itself is very important when considering the execution efficiency of the program developing environment. This paper extends the dependency chart for an imperative language and presents the extended version of dependency chart which can be applied to the Object Oriented Programming Languages such 'Java'. This paper also presents the incremental evaluation algorithm for Object Oriented Programming Languages and proves its correctness, analyzing the efficiency of incremental evaluation by the simulation.

프로그램의 생산성을 향상시키기 위해 프로그램 개발 단계에서 소요되는 비용을 최소화하려는 연구가 다양하게 진행되고 있다. 점진 평가는 프로그램을 수정할 경우, 전체 프로그램을 다시 평가하는 대신 수정한 부분과 그 부분에 영향 받는 부분만을 다시 평가하는 방법이다. 점진 평가 방법은 전체 프로그램을 다시 평가하지 않기 때문에, 프로그램 개발 환경의 실행 효율성 측면에서 고려해 볼 때 매우 중요하다. 본 논문에서는 명령형 언어를 위해 제시된 종속 차트(dependency chart)를 확장하여 객체 지향언어인 자바 같은 언어에서 점진 평가를 수행할 수 있도록 확장된 종속 차트를 제시한다. 객체 지향언어에서 점진 평가를 수행하는 알고리즘을 제시하고 그 알고리즘의 정확성을 증명하고 실험을 통해 점진 평가의 효율성을 분석한다.

Keywords

References

  1. 한정란 “작용 식 기반 점진 해석” Ph. D Thesis 이화여대 1999.
  2. 한정란 “객체 지향 언어를 위한 의미 명세” 인터넷정보학회 논문지, 제8권 5호, pp.35-43, 2007.
  3. 한정란, 최성 “동적 의미 분석에 의한 점진 해석기 구축” 인터넷정보학회 논문지, 제5권 6호 , pp.111-120 , 2004.
  4. David A. Watt and Deryck F. Brown, "Formalizing the Dynamic Semantics of Java", 2006.
  5. T. Teitelbaum and T. Reps "The Cornell Program Synthesizes: A Syntax-directed Environment" Communication ACM Vol 24(9) pp. 563-573 1981. https://doi.org/10.1145/358746.358755
  6. Raul Medina Rora and David S. Notkim "ALOE users' and implementers' guide" Carnegie-mellon Computer Science Depart. Research Report CS-81-145 1981.
  7. A. N. Habermann "The Gandalf Research project" Computer Science research Review Carnegie-Mellon University 1979.
  8. Charles N. F., Greg J. and Jon M. "An Introduction to Editor Allen Poe" Univ. Wisconsin-Madison TR 451 1981.
  9. John F. Beetem and Anne F. Beetem "Incremental Scanning and Parsing With Galaxy" IEEE Transactions on Software Engineering Vol. 17 No. 7 pp. 641-651 1991. https://doi.org/10.1109/32.83901
  10. Roger Hoover "Alphonse : Incremental Computation as a Programmer Abstraction" ACM SIGPLAN Notices pp. 261-272 1992.