An Algorithm for Integrating Versions of Programs using Dynamic Slicing

동적 슬라이싱 기법을 이용한 프로그램 버전들의 통합 알고리즘

  • 박순형 (동의공업대학 전자계산과) ;
  • 정은이 (춘해대학 멀티미디어정보과) ;
  • 박만곤 (부경대학교 컴퓨터멀티미디어공학부)
  • Published : 2000.03.01

Abstract

For the operation of the practical software systems, the development, extension and modification phases are successively needed through the new requirements added and their errors debugging detected. Therefore, if it is possible to integrated the reusable software components and to reorganize them into the new software systems, we can improve the productivity, quality, and cost-effectiveness for he development of software systems. For these reasons, it will be required to research and develop methodology and tools for programs integration which make some programs merged effectively. In the process of merging two versions of a program into one, we can consider that some parts of the two versions are equivalent under the non-interference between them. According to the previous studies the program selected to determine the criterion of non-interference between them. According to the previous studies the program selected to determine the criterion of non-interference was very large, so we have difficulty in integrating many programs practically. In this paper, we propose a new improved algorithm which can reduce the related program size of non-interference criterion yb use of dynamic slicing techniques for integration of two versions of a program, and prove the efficiency of the proposed algorithm by showing some examples.

Keywords

References

  1. David Binkley, Susan Horwitz, and Thomas Reps, 'Program Integration for Languages with Procedure Calls,' ACM Tran. on Software Engineering and Methodology 4, 1, pp.3-35, Jan. 1995 https://doi.org/10.1145/201055.201056
  2. S. H, Park and Park, M. G., 'An efficient dynamic program slicing algorithm and its Application.,' Proc. of the IASTED International Conference, Pittsburgh, Pennsylvania, pp.459-465, May 1998
  3. 박순형,박만곤,'소프트웨어 테스팅을 위한 동적 프로그램 슬라이싱 알고리즘의 효율성 비교' 정보처리논문지 제5권 제9호, pp.2323-2334, 1998
  4. Susan Horwitz, Jan Prins, and Thomas Reps. 'Integrating noninterfering versions of programs,' ACM Trans. on Programming Latlguages and Systems, pp.345-387, July 1989 https://doi.org/10.1145/65979.65980
  5. Karl J. Ottentein and Linda M. Ottentein. 'The program dependence graph in a software development environment,' Proc. of the ACM SIG SOFT/SIGPLAN Symposium on Practical Software Development Environments, Pittaburgh, Pennsylvania, April 1984 https://doi.org/10.1145/800020.808263
  6. Mark Weiser, 'Programmers use slices when debugging,' Communications of the ACM, pp.446-452, July 1982 https://doi.org/10.1145/358557.358577
  7. V. Berzins, 'Software merge: Models and methods for combining changes to programs,' Journal of Systems Integration, Vol.1, No.2, pp.121-141, August 1990 https://doi.org/10.1007/BF02426920
  8. V. Berzins, Luqi, and A. Yehudai, 'Using transformations in specification-based prototyping,' IEEE Transactions on Software Engineering, Vol. Tec 436-452, May 1993 https://doi.org/10.1109/32.232011
  9. T. Rep and W. Yang, 'The semantics of program slicing and program integration,' Proceedings of the Colloquium on Current Issues in Programming Languages, Barcelona, Spain, pp.360-374, March 1989
  10. T. Rep, 'Algebraic properties of program integration,' Proceedings of the Colloquium on Current Issues in Programming Languages, Copenhagen, Denmark, pp.326-340, May 1990
  11. Bodan Korel, 'Computation on Dynamic Program Slices for Unstructured Programs,' IEEE Trans. on Software Engineering, Vol.23, No.1, pp.17-34, January 1997 https://doi.org/10.1109/32.581327