• 제목/요약/키워드: Program Slicing

검색결과 42건 처리시간 0.025초

Efficient Dynamic Object-Oriented Program Slicing

  • Park, Soon-Hyung;Park, Man-Gon
    • 한국멀티미디어학회논문지
    • /
    • 제6권4호
    • /
    • pp.736-745
    • /
    • 2003
  • Traditional slicing techniques make slices through dependence graphs. They also 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, and size of the slices is larger. We propose the representation of a 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. Consequently, the efficiency of the proposed efficient dynamic object-oriented program dependence graph technique is also compared with the dependence graph techniques discussed previously As a result, this is certifying that an efficient dynamic object-oriented program dependence graph is more efficient in comparison with the traditional object-oriented dependence graphs and dynamic object-oriented program dependence graph.

  • PDF

Efficient Dynamic Slicing of Object-Oriented Program

  • 박순형
    • 한국산업정보학회:학술대회논문집
    • /
    • 한국산업정보학회 2008년도 추계 공동 국제학술대회
    • /
    • pp.651-655
    • /
    • 2008
  • Traditional slicing techniques make slices through dependence graphs. They also improve the accuracy of slices. However, traditional slicing techniques require many vertices and edges in order to express a data communication links. Therefore the graph becomes complicated, and size of the slices is larger. We propose the representation of a 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. The efficiency of the proposed efficient dynamic object-oriented program dependence graph technique is also compared with the dependence graph techniques discussed previously. As a result, this is certifying that an efficient dynamic object-oriented program dependence graph is more efficient in comparison with the traditional dynamic object-oriented program dependence graph.

  • PDF

객체지향 프로그램의 슬라이싱에 관한 연구 (A Study on Program Slicing of Object-Oriented Programs)

  • 김희천
    • 한국컴퓨터산업학회논문지
    • /
    • 제2권9호
    • /
    • pp.1199-1208
    • /
    • 2001
  • 프로그램 슬라이싱은 테스팅 및 유지보수 작업의 효율성을 높이기 위한 프로그램 분해 기술이다. 본 논문에서는 객체지향 프로그램 실행부의 슬라이싱 방법을 제안하고 정확성을 분석하였다. 또한 프로그램이 주어졌을 때 클래스 선언부에서 필요 없는 함수와 사용하지 않는 데이터멤버 및 서브객체를 제거하는 클래스 인터페이스 슬라이싱 방법을 제안하고 정확성을 증명하였다. 또 클래스 선언부만을 가지고 주어진 데이터멤버에 영향을 주는 또는 영향을 받는 부분을 추출해 내는 클래스 계층구조의 슬라이싱 방법을 제안하였다. 이러한 기술은 클래스 테스팅 같은 분야에서 정보분석 작업에 이용될 수 있다.

  • PDF

역난독화를 위한 바이너리 프로그램 슬라이싱 (Program Slicing for Binary code Deobfuscation)

  • 목성균;전현구;조은선
    • 정보보호학회논문지
    • /
    • 제27권1호
    • /
    • pp.59-66
    • /
    • 2017
  • 해커들이 자신들이 만든 악성코드의 분석을 어렵게 하기 위하여 코드 난독화 기법을 적용하고 있다. 최근의 난독화 기법은 가상화 난독화 기법을 통해 원래의 코드를 바이트코드로 만들고 가상머신이 이를 실행시키는 방식으로, 실행시키기 전에는 원래의 코드를 알 수가 없다. 프로그램 슬라이싱은 프로그램 분석기술 중 하나로 슬라이싱 기준을 정하고 그와 관련된 문장을 추출해내는 기술이다. 본 논문에서는 슬라이싱 기법을 사용하여 난독화를 해제하는 방법을 제시한다.

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

  • 박순형;정은이;박만곤
    • 한국멀티미디어학회논문지
    • /
    • 제3권1호
    • /
    • pp.92-100
    • /
    • 2000
  • 일반적인 소프트웨어 시스템은 새로운 요구와 오류의 발견으로 인해 계속적인 개발과 확장 그리고 수정이 요구된다. 이러한 일련의 작업과정에서 기존 프로그램의 정확한 이해는 매우 필요하다. 어떤 프로그램의 특정 명령문에 있는 변수에 대한 관련 명령문을 찾고 싶을 때 프로그래머는 입력 자료의 값에 대해 프로그램의 실행궤도 추적을 통해 프로그램을 분석한다. 그러므로, 현재 입력 값에 영향을 끼치는 모든 명령문들에 관련된 동적 프로그램 슬라이싱(dynamic program slicing)과 이를 구현하는 기술의 개발은 매우 중요하다고 할 것이다. 그러나 전통적인 동적 슬라이싱 기법은 구현 초기에 프로그램 실행이력을 만들어야 하는 불편이 있었다. 본 논문에서는 실행이력 파일을 사용하지 않고 동적 제어 정보와 프로그램 슬라이싱 기법을 사용하여 효율적으로 프로그램 슬라이스를 산출하는 알고리즘을 제시하였고 이것을 프로그래밍한 뒤 예제 프로그램을 적용시켜 구현하였다. 그리고, 본 논문에서 제시한 슬라이스 생성기법이 기존의 기법보다 더 효율성이 높다는 것을 보였다.

  • PDF

명세 기반 프로그램 슬라이싱 기법과 응용 (Specification-based Program Slicing and Its Applications)

  • 정인상;윤광식;이완권;권용래
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제29권8호
    • /
    • pp.529-542
    • /
    • 2002
  • 기존의 프로그램 슬라이스에 관한 정의들은 주로 프로그램 변수들간의 문법적인 관계만을 고려한다. 이에 반해, 이 논문에서는 프로그램 변수들간의 의미론적인 관계를 고려함으로써 기존의 슬라이스보다 더 정확한 프로그램 슬라이스를 구할 수 있는 명세 기반 슬라이싱 기법을 제시한다. 명세 기반 슬라이스는 선행 조건, 후행 조건의 쌍으로 주어진 프로그램의 명세에 대해 원래 프로그램의 행위와 올바름을 보존하는 프로그램 문장들의 부분집합으로 구성된다. 명세 기반 슬라이싱 기법은 주어진 명세에 나타나 있는 프로그램의 기능과 관련한 프로그램 문장만을 다루기 때문에, 소프트웨어 공학의 여러 가지 문제들을 더욱 효과적으로 해결할 수 있도록 지원한다. 여러 적용 가능한 문제들 중에서도, 이 논문에서는 소프트웨어 재사용과 소프트웨어 재구성 과정이 명세 기반 슬라이싱 기법을 이용함으로써 어떻게 향상될 수 있는지를 보인다.

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

  • 박순형;박만곤
    • 한국정보처리학회논문지
    • /
    • 제6권9호
    • /
    • pp.2384-2392
    • /
    • 1999
  • 프로그램에서 요류가 발생되었을 때 프로그래머는 어떤 시험 사례(test case)를 통해 프로그램을 분석한다. 이처럼 현재 입력 값에 영향을 끼치는 모든 명령문들에 관련된 동적 슬라이싱(dynamic slicing)과 이를 구현하는 기술은 실제 테스팅 및 디버깅 분야에서 매우 중요하다고 할 것이다. 지금까지의 동적 슬라이싱은 슬라이싱 기준 변수가 1개 일 때의 경우에 대해서만 연구해 왔다. 그러나, 실제적인 테스팅 및 디버깅 분야에서는 슬라이싱 기준이 되는 변수가 2개 이상인 경우가 아주 많이 발생한다. 따라서 슬라이싱 기준 변수가 n 개 일 때 동적 프로그램 슬라이스(dynamic program slices)를 만드는 알고리즘을 제시하였고 프로그래밍 언어를 사용하여 동적 프로그램 슬라이싱 알고리즘을 프로그래밍한 뒤 예제 프로그램을 적용시켜 구현하였다. 구현 결과는 실행 이력에 대한 마킹 테이블(marking table)과 동적 종속 그래프로 나타내었다. 그리고, 본 논문에서 제시한 다중기준변수 동적 슬라이스 생성을 위한 마킹 알고리즘이 기존의 단일기준변수 기법보다 실제적인 테스팅 환경에서 더 우수함을 보였다.

  • PDF

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

  • 박순형;박만곤
    • 한국멀티미디어학회논문지
    • /
    • 제5권3호
    • /
    • pp.331-341
    • /
    • 2002
  • 기존의 슬라이싱 기법들은 슬라이스를 생성하며 생성된 슬라이스의 정확성을 위해 종속 그래프를 사용한다. 그러나, 기존의 많은 슬라이싱 기법들은 동적 슬라이싱 기법에 바탕을 두고 데이터 통신 링크를 표현하기 때문에 많은 정점들(vertices)과 간선들(edges)을 필요로 한다. 그러므로 그 그래프는 매우 복잡하다. 어떤 프로그램 시스템에 대한 소프트웨 어 슬라이싱을 처리하기 위해 본 논문에서는 동적 시스템 종속그래프를 제안한다. 그리고, 소프트웨어 시스템의 동적 슬라이스를 산출하기 위해 관련 테이블들의 관계도를 이용한 효율적인 슬라이싱 알고리즘을 제안한다. 동적 슬라이스의 생성을 위한 동적시스템종속그래프는 제안된 알고리즘으로부터 얻어진 마킹테이블을 사용해서 얻어진다. 슬라이스의 최종 결과는 이 그래프를 추적함으로써 얻어진다. 결론적으로 제안된 동적시스템종속그래프 기법의 효율성을 기존의 종속그래프 기법과 비교하였다.

  • PDF

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

  • 류호연;박중양;박재흥
    • 정보처리학회논문지D
    • /
    • 제10D권6호
    • /
    • pp.999-1010
    • /
    • 2003
  • 프로그램 슬라이싱은 프로그램의 특정 지점에 나타난 변수의 값에 영향을 미치는 문장들을 프로그램으로부터 추출하는 방법이다. 프로그램 슬라이싱은 프로그램 디버깅, 프로그램 테스팅, 프로그램 통합, 병렬 프로그램 실행, 소프트웨어 메트릭스, 역공학, 유지보수 등 여러 응용 분야에 적용할 수 있다. 본 논문에서는 포인터 변수, 포인터 변수가 참조하는 객체, 배열, 구조체가 같은 복잡한 자료구조가 나타나는 프로그램에서 정확한 슬라이스를 추가하기 위한 알고리즘을 제안한다. 복잡한 자료구조가 나타나는 프로그램 상에서 객체의 보다 더 정확한 정적 분석 정보를 생성하기 위해 객체 참조상태 그래프를 제안하고, 그 효율성을 보였다.

객체지향 프로그램 슬라이싱에 관한 연구 (A Study on the Object-Orient Program Slicing)

  • 방극인;박영옥;이준
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국해양정보통신학회 2002년도 춘계종합학술대회
    • /
    • pp.461-465
    • /
    • 2002
  • 일반적인 소프트웨어 시스템은 새로운 요구와 오류의 발견으로 인해 계속적인 개발과 확장 수정이 요구되며, 어떤 프로그램에 특정 명령문의 변수에 대한 관련 명령문을 찾고 싶을 때 프로그래머는 입력자료의 값에 대해 프로그램의 실행 궤도 추적을 통해 프로그램을 분석한다. 그러므로 본 논문은 기존의 프로그램 슬라이싱 방법에 객체지향 프로그램 슬라이싱을 적용하여 프로그램의 실행 궤도를 통하여 객체지향 그래프와 슬라이싱의 알고리즘을 보인다. 객체지향 프로그램 종속성 그래프는 클래스 종속성 그래프와 클래스 계층구조 그래프로 구성된다. 여기에 제안된 알고리즘은 쉽게 확장이 가능하며 프로그램이 점진적으로 개발되는 경우에 유리하게 사용될 수 있다.

  • PDF