• Title/Summary/Keyword: 동적 프로그램 슬라이싱

Search Result 14, Processing Time 0.025 seconds

Program Slicing using Abstract Interpretation (요약 해석을 이용한 프로그램 슬라이싱)

  • Jeong, In-Sang;Chang, Byeong-Mo
    • Journal of KIISE:Software and Applications
    • /
    • v.28 no.8
    • /
    • pp.551-559
    • /
    • 2001
  • 정적 슬라이싱과 동적 슬라이싱의 차이는 동적 슬라이싱은 프로그램에 주어진 입력을 가정하는 반면에 정정 슬라이싱은 입력에 대한 가정을 하지 않는다는 점이다. 동적 슬라이싱은 실행-시간 정보를 이용할 수 있으므로 정적 슬라이싱보다 적은 슬라이스를 만들 수 있으나 특정 입력 상태에만 적용될 수 있다는 제한을 갖는다. 이 논문은 초기 상태들의 집합에 대해서 프로그래을 슬라이싱하는 요약 프로그램 슬라이싱이라는 새로운 기법을 제시한다. 이 방법은 프로그램으로부터 슬라이스를 구하는데 요약 해석을 이용한다. 요약 해석을 프로그램 실행 없이 프로그램의 실행-시간 동작에 대한 안전한 정보를 제공한다. 따라서 결과적으로 얻은 요약 슬라이스는 주어진 입력 상태들의 집합에 대해서 정적으로 계산되었다는 점에서 동적 슬라이스와는 다르다. 또한 요약 프로그램 슬라이싱은 배열과 같은 자료구조를 정적 슬라이싱보다 정확하게 다룰 수 있으며 슬라이스 크기도 줄일 수 있다.

  • PDF

A Study on the Improved Dynamic Object-Oriented Program Slicing (개선된 동적 객체지향 프로그램 슬라이싱에 관한 연구)

  • Park Soon-Hyung;Park Man-Gon
    • Journal of Korea Multimedia Society
    • /
    • v.7 no.10
    • /
    • pp.1485-1495
    • /
    • 2004
  • We propose the representation of a improved dynamic object-oriented program dependence graph so as to process the slicing of object-oriented programs that is composed of related programs in order to process certain jobs. We also propose an efficient slicing algorithm using the relations of relative tables in order to compute dynamic slices of object-oriented programs. We programmed the algorithm by using fortran and Visual C++. The procedure that computes the dynamic object-oriented program slices using the improved dynamic object-oriented program dependence graph(IDOPDC) is divided into four steps. Consequently, the efficiency of the proposed improved dynamic object-oriented program dependence graph(IDOPDG) technique is also compared with the dependence graph techniques discussed previously. As a result, this certifies that an improved dynamic object-oriented program dependence graph is more efficient in comparison with the traditional dynamic object-oriented program dependence graph(DOPDG).

  • PDF

On the Efficiency Comparison of Dynamic Program Slicing Algorithm using Multiple Criteria Variables (다중 기준변수를 사용한 동적 프로그램 슬라이싱 알고리즘의 효율성 비교)

  • Park, Sun-Hyeong;Park, Man-Gon
    • The Transactions of the Korea Information Processing Society
    • /
    • v.6 no.9
    • /
    • pp.2384-2392
    • /
    • 1999
  • Software engineers are used to analyse the error behavior of computer programs using test cases which are collected for the testing phase when software errors are detected. In actual software testing and debugging, it is important to adopt dynamic slicing technique which is concerned on all the statements to be affected by the variables of current inputs and to use technique of its implementations. The traditional dynamic slicing has focused on the single slicing criterion algorithm. It has been thought that it is needed to develope and implement algorithm for used multiple criteria variables program slicing, which finds every slicing criterion variable where it is used multiple criteria variables. In this paper, we propose an efficient algorithm to make dynamic program slices when it has used multiple criteria variables. The results of the implementation are presented by the making table on execution history and the dynamic dependence graph. Also we can find that the proposed dynamic program slicing approach using multiple criteria variables is more efficient than the traditional single case algorithm on the practical testing environment.

  • PDF

An Efficient Program Slicing Algorithm using Dynamic Control Information (동적 제어 정보를 이용한 효율적인 프로그램 슬라이싱 알고리즘)

  • 박순형;정은이;박만곤
    • Journal of Korea Multimedia Society
    • /
    • v.3 no.1
    • /
    • pp.92-100
    • /
    • 2000
  • For the operation of the practical software systems, the development of new software, extension and modification phases of current software are successively needed through the new requirements added and their errors debugging detected. We need to understand current program exactly during a working serial jobs. When we'd like to extract the statements which influence the variable of specific statement of program, we generally analyze the program behavior through execution trace of program for the input values. It is important to compute dynamic program slice related to all statements that actually affect the value of a variable occurrence for a given program input and to develop techniques of its implementation. But traditional dynamic slicing techniques are inconvenient to make program execution history at the beginning implementation. In this paper, we propose a new improved algorithm which can produce program slice by use of dynamic control information and program slicing techniques except execution history file. Also we can find that the proposed program slicing approach is more efficient than the traditional program slicing algorithm on the practical testing environment.

  • PDF

Efficient Dynamic System Dependence Graph (효율적인 동적 시스템 종속 그래프)

  • Park, Soon-Hyung;Park, Man-Gon
    • Annual Conference of KIPS
    • /
    • 2000.04a
    • /
    • pp.729-734
    • /
    • 2000
  • 전통적인 기존의 슬라이싱 기법들은 종속 그래프를 통해 슬라이스를 산출하였고, 슬라이스의 정확성을 입증하였다. 그러나, 기존의 종속 그래프 기법은 정적 슬라이싱 기법을 바탕으로 하기 때문에 프로시져 간의 매개변수별 자료 전달 링크를 나타내기 위하여 많은 정점들과 간선들이 필요하다. 그래서 그래프가 매우 복잡하다. 본 논문에서는 어떤 작업을 처리하기 위해 관련된 여러 개의 프로그램으로 구성된 소프트웨어 시스템의 슬라이싱을 수행하기 위한 동적 시스템 종속 그래프의 표현법에 대해 제안하였다. 그리고, 본 논문에서 제안한 동적 시스템 종속 그래프 기법과 기존의 프로그램 종속 그래프 기법에 대한 복잡도 측정 공식을 제안하였으며, 동적 시스템 종속 그래프 기법이 기존의 기법에 비해 그래프의 복잡도가 작아 효율적임을 보였다.

  • PDF

Improved Dynamic Object-Oriented Dependence Graph (개선된 동적 객체지향 종속 그래프)

  • 박순형;박만곤
    • Proceedings of the Korea Multimedia Society Conference
    • /
    • 2004.05a
    • /
    • pp.806-809
    • /
    • 2004
  • 동적 객체지향 프로그램 슬라이싱을 구현하기 위해서 프로그램 종속 그래프가 필요하다. 본 논문에서는 기존의 동적 객체지향 프로그램 종속 그래프 기법 보다 효율적인 동적 객체지향 프로그램 종속 그래프 기법을 제안하였다. 본 논문에서 제안한 기법이 기존에 비해 효율적임을 보이기 위해 그래프의 복잡도를 측정하여 비교하였다. 그리고 프로그램 슬라이스의 크기도 함께 측정하여 본 논문에서 제시한 기법이 효율적임을 증명하였다.

  • PDF

Program Slicing in the Presence of Complicated Data Structure (복잡한 자료 구조를 지니는 프로그램에 대한 슬라이싱)

  • 류호연;강원임;박재홍
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1999.10a
    • /
    • pp.557-559
    • /
    • 1999
  • 프로그램 슬라이싱은 프로그램의 특정 문장에서 변수에 영향을 주는 문장들을 분해하는 방법으로 디버깅, 최적화, 프로그램 유지보수, 테스팅, 재사용 부품 추출 그리고 프로그램 이해를 포함하는 여러 응용 분야들에서 그 유용성을 확인할 수 있다. 본 논문은 포인터 변수와 포인터 변수에 의해 참조되는 동적 객체, 구조체, 배열을 포함하는 프로그램에 대한 정확한 슬라이스 생성에 관한 연구이다. 포인터 변수와 같은 복잡한 구조를 가지는 프로그램에서 포인터 변수나 포인터 변수가 참조하는 객체의 상태를 파악하기 위해서 객체 참조상태 그래프를 제시한다.

  • PDF

Dynamic Slicing using Dynamic System Dependence Graph (동적 시스템 종속 그래프를 사용한 동적 슬라이싱)

  • 박순형;박만곤
    • Journal of Korea Multimedia Society
    • /
    • v.5 no.3
    • /
    • pp.331-341
    • /
    • 2002
  • Traditional slicing techniques make slices through dependence graph and improve the accuracy of slices. However, traditional slicing techniques require many vertices and edges in order to express a data communication link because they are based on static slicing techniques. Therefore the graph becomes very complicated. We propose the representation of a dynamic system dependence graph so as to process the slicing of a software system that is composed of related programs in order to process certain jobs. We also propose programs on efficient slicing algorithm using relations of relative tables in order to compute dynamic slices of a software system. Using a marking table from results of the proposed algorithm can make dynamic system dependence graph for dynamic slice generation. Tracing this graph can generate final slices. We have illustrated our example with C program environment. Consequently, the efficiency of the proposed dynamic system dependence graph technique is also compared with the dependence graph techniques discussed previously. As the results, this is certifying that the dynamic system dependence graph is more efficient in comparison with system dependence graph.

  • PDF

On the Efficiency Comparison of Dynamic Program Slicing Algorithm for Software Testing (소프트웨어 테스팅을 위한 동적 프로그램 슬라이싱 알고리즘의 효율성 비교)

  • Park, Soon-Hyung;Park, Man-Gon
    • The Transactions of the Korea Information Processing Society
    • /
    • v.5 no.9
    • /
    • pp.2323-2333
    • /
    • 1998
  • Software engineers generally analyze the program behavior under the test case that revealed the error, not under any teneric est case. In this paper we discuss the dynamic slice consisting of all statements that actually affect the value of a variable occurrence for a given program input. We propose an efficient algorithm to make dynamic program slices. The eficiency of this algorithm is evaluated on some developed program. results are shown by a marking table of execution history. Dynamic Dependence Graph, and Reduced Dynamic Dependence Graph, Consequently, the efficiency of the proosed algorithm is also presented by the compariso with algorithm that was announced previously.

  • PDF

A Study on the Optimization of C++ Program Using the Class Hierarchies Slicing (클래스 계층구조 슬라이싱을 이용한 C++프로그램 최적화에 관한 연구)

  • Kim, Un-Yong;Jeong, Gye-Dong;Choe, Yeong-Geun
    • The Transactions of the Korea Information Processing Society
    • /
    • v.6 no.6
    • /
    • pp.1542-1555
    • /
    • 1999
  • This paper proposes an algorithm for class hierarchies which can optimize member data and member function. This algorithm considers single/multiple inheritance, static/dynamic binding, overloading/overriding, pure virtual/virtual function, and constructor on the hierarchy of C++ class. We need to eliminate unused function that possesses many component element, because the program uses a limited of function in class hierarchies. Previous works on slicing mainly focused on selecting output data and including the related program statement. It was consists of structured programming language and also centralized on error detection, maintenance, and flexible testing. In this paper, we extend to the object-oriented language, makes a linked-table for objects to raise the efficiency of information management, and proposes necessary algorithm for optimizing system Through this process, we can obtain the simplification of program code and the progress of system performance by eliminating unused member data and member function.

  • PDF