• 제목/요약/키워드: 프로그램 슬라이싱

검색결과 36건 처리시간 0.027초

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

  • 박순형;박만곤
    • 한국멀티미디어학회:학술대회논문집
    • /
    • 한국멀티미디어학회 2004년도 춘계학술발표대회논문집
    • /
    • pp.806-809
    • /
    • 2004
  • 동적 객체지향 프로그램 슬라이싱을 구현하기 위해서 프로그램 종속 그래프가 필요하다. 본 논문에서는 기존의 동적 객체지향 프로그램 종속 그래프 기법 보다 효율적인 동적 객체지향 프로그램 종속 그래프 기법을 제안하였다. 본 논문에서 제안한 기법이 기존에 비해 효율적임을 보이기 위해 그래프의 복잡도를 측정하여 비교하였다. 그리고 프로그램 슬라이스의 크기도 함께 측정하여 본 논문에서 제시한 기법이 효율적임을 증명하였다.

  • PDF

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

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

  • PDF

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

  • 박순형;박만곤
    • 한국정보처리학회논문지
    • /
    • 제5권9호
    • /
    • pp.2323-2333
    • /
    • 1998
  • 어떤 프로그램에서 오류가 발견되었을 때 프로그래머는 어떤 시험 사례(test-case)를 통해 프로그램을 분석한다. 이처럼 현재 입력 값에 영향을 끼치는 모든 명령문들에 관련된 동적 슬라이싱(dynamic slicing)과 이를 구현하는 기술은 실제 테스팅 및 디버깅 분야에서 매우 중요하다고 할 것이다. 본 논문에서는 이러한 동적 프로그램 슬라이스(dynamic program slices)를 산출하는 마킹 알고리즘을 제시하였고 이것을 프로그래밍한 뒤 예제 프로그램을 적용시켜 구현하였다. 구현 결과는 실행 이력에 대한 마킹 테이블(marking table), 동적 종속 그래프(Dynamic Dependence Graph) 그리고, 축소 동적 종속 그래프(Reduced Dynamic Dependence Graph)로 나타내었다. 그리고, 본 논문에서 제시한 효율적인 동적 슬라이스 생성을 위한 마킹 알고리즘과 동적 종속 그래프가 기존의 기법 보다 더 효율성이 높다는 것을 보였다.

  • PDF

건축물 3D 프린팅 설계지원도구 개발에 대한 연구 (A Study on Development of Design Support Tool for Building 3D Printing)

  • 박형진;서명배;주기범
    • 한국산학기술학회논문지
    • /
    • 제20권12호
    • /
    • pp.182-189
    • /
    • 2019
  • 3D 프린팅 기술은 공급자 중심의 대량 생산에서 수요자 중심의 다양한 디자인을 만족하게 하는 패러다임의 변화를 가져오고 있다. 건축분야 3D 프린팅 기술은 모듈러 건축과 더불어 기존의 습식공법을 대체할 수 있는 새로운 시공방법으로 기대되고 있다. 최근 북미, 유럽, 아시아 등 다수의 국가에서 모르타르 계열의 재료를 활용한 3D 프린팅 건축물 구축 사례가 경쟁적으로 발표되고 있다. 3D 프린팅 기술의 핵심은 3D 프린팅 장비, 재료, 3D 모델링 및 슬라이싱 기능이다. 건축분야에서는 기존 제조업에서 상용화된 슬라이싱 기능을 보완하여 사용하고 있다. 본 연구에서는 건축분야의 3D 모델링을 3D 프린팅 장비로 출력하기위해 슬라이싱 기능이 포함된 설계지원도구를 개발한다. 기존 제조업 분야에서 3D 모델링 이후 출력까지의 과정을 분석하고, 특히 기존에 상용화된 슬라이싱 프로그램들의 기능을 분석한다. 또한 기존 사례 및 전문가 검토, 관련 문헌 등을 분석하여 건축분야에 필요한 슬라이싱 기능 7가지를 도출하였다. 도출된 기능들은 슬라이싱 기능에서 보다 확장하여 설계지원도구라고 명명하였다. 향후 도출된 기능들에 대한 상세한 알고리즘 및 프로세스의 개발이 필요하다.

객체지향 프로그램 정보 분석기 설계 및 구현 (Design and Implementation of an Information Analyzer for Object-Oriented Program)

  • 김운용;최영근
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 1999년도 가을 학술발표논문집 Vol.26 No.2 (1)
    • /
    • pp.490-492
    • /
    • 1999
  • 본 논문에서는 객체지향 프로그램에 대한 프로그램 정보를 분석하여 이들간의 관계를 표현할 수 있는 방법을 제시한다. 현재까지 프로그램을 분석하고 표현하기 위한 그래프 표현으로 호출 그래프, 제어흐름 그래프 및 종속 그래프 등이 있으며 이를 이용하여 테스팅, 슬라이싱, 디버깅, 프로그램 이해, 병렬처리, 역공학과 같은 다양한 분야에 적용되고 있다. 본 논문에서는 객체지향 언어의 프로그램의 시각적 이해를 돕고, 분석에 필요한 정보를 표현하는 그래프들간의 관계성을 고려한 효율적인 분석기를 표현한다. 이를 위해 클래스, 상속관계, 호출관계, 제어흐름 및 데이터 종속관계를 고려하여 객체 지향언어 분석에 필요한 그래프 요소를 멤버함수레벨, 클래스 레벨, 모듈 클래스 레벨 단위로 추출하고 이들간의 정보를 저장소로 통합 구성한다. 이를 통해 기존의 특정목적을 위해 표현하는 그래프 표현 방식은 그래프간의 관계성과 분석정보의 독립성 그리고 재사용성의 특징을 가지는 통합 분석기로 구성될 수 있다. 이러한 특징은 프로그램의 이해와 정보의 관리효과를 증가시킬 수 있으며, 많은 소프트웨어 엔지니어링 도구와 기술들에 필요한 통합화된 정보를 제공하고 이용될 수 있을 것이다.

  • PDF

모듈 클래스 종속 그래프를 이용한 객체지향 프로그램 슬라이싱에 관한 연구 (A Study on the Object-Oriented Program Slicing using Module Class Dependency Graph)

  • 김운용;정계동;최영근
    • 한국정보처리학회논문지
    • /
    • 제6권7호
    • /
    • pp.1805-1816
    • /
    • 1999
  • 본 논문에서는 클래스들간의 종속관계를 효율적으로 표현하기 위한 모듈클래스 종속그래프를 제안한다. 객체 지향언어는 설계시 독립적으로 개발되어지고, 클래스들간의 관계를 형성하여 구성되어진다. 따라서 이러한 독립적인 특성을 고려하고, 클래스 계층구조에 존재하는 클래스들간의 관계를 효율적으로 표현할 필요가 존재한다. 본 논문에서는 어플리케이션에 종속적인 기존의 시스템 종속그래프와 단위 클래스를 표현하는 클래스 종속그래프에서 제시되지 않고 있는 클래스들간의 관계를 표현하기 위해 객체지향시스템의 설계단위인 모듈의 개념을 이용하여 모듈클래스들 종속그래프를 제시하고, 객체지향의 특징인 객체의 생성자, 상속관계 및 동적 바인딩 효과를 적용시켜 효율성의 검증과 이를 절차간 슬라이싱에 적용시켜 슬라이싱의 관계를 고찰한다. 또한 모듈 클래스에 존재하는 클래스의 멤버데이터들간의 구별을 가능하게 하기 위한 파라메터의 표현법을 제시한다. 이러한 모듈클래스 종속 그래프를 통해 시스템 설계시 모듈 클래스간의 관계를 보다 정확하게 분석할 수 있고, 시스템 분석에 필요한 역공학, 테스팅, 시각화와 같은 다른 응용에 폭넓게 적용될 수 있다.

  • PDF

시나리오 기반 자기적응형 소프트웨어의 효율적인 분석 방안 (An Efficiency Analysis Method of Self-adaptive software based Scenario)

  • 백수진;송영재
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2008년도 추계학술발표대회
    • /
    • pp.492-495
    • /
    • 2008
  • 기존 컴퓨팅 패러다임에서는 고정된 환경을 가정하여 소프트웨어를 설계하였으므로 급속한 시장 환경의 변화와 소비자의 불확실한 요구조건에 대응하여 개발하기에 어려움이 있다. 따라서 외부 환경의 변화를 직면하였을 때 동작을 멈추는 것이 아니라 그 변화를 감지하고 대안을 선택하여 지속적으로 서비스를 제공할 수 있는 자기 적응형 소프트웨어가 필요하다. 그러나 기존의 자기적응형 소프트웨어에 대한 연구는 적응형 소프트웨어에 영향을 주는 문맥정보를 모델링하는 기법이나 적응을 위해 대체할 수 있는 기능들을 찾아내는 방법에 대한 연구가 부족한 실정이다. 이 문제를 해결하기 위해 본 논문은 시나리오를 이용한 목표 기반으로 분석을 하고, 분석된 요구사항의 가변 수와 크기에 따라 프로그램의 문법뿐 아니라 사용자의 관점에서도 의미 있도록 프로그램 동적 슬라이싱 기법을 적용하도록 한다. 또한, 제안된 방법이 전 과정에 문맥에 대한 분석, 설계 정보가 반영되어 동적으로 재구성하는 방법을 제시하도록 한다.

인공신경망을 활용한 소프트웨어 결함 위치 추정 기법 (Software Fault Localization using Artificial Neural Network)

  • 조준혁;이지현;자프르 아만
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2018년도 추계학술발표대회
    • /
    • pp.550-553
    • /
    • 2018
  • 소프트웨어 시험 후 발견된 결함을 제거하기 위해서는 먼저 해당 결함의 위치를 정확히 찾아야 한다. 결함의 위치를 찾는 작업은 많은 양의 소스코드를 검토해야 하기 때문에 많은 노력을 요구한다. 해당 노력을 줄이기 위해 슬라이싱 기법, 스펙트텀 기법, 모델 기반 기법 등 많은 기법들이 연구되었다. 하지만 이들 연구들은 결함 위치로 추정한 탐색 영역의 범위가 넓어 결과의 효과가 떨어지는 단점이 있다. 그래서 결함 위치 추정의 정확도를 높이고 결함 위치 파악의 효과를 높이기 위해 본 논문은 프로그램 소스 코드 문장에 대한 시험 케이스의 커버리지 정보, 시험의 PAss/Fail 여부, Define-Use의 관계에 있는 문장 정보를 활용하여 각 문장의 결함 의심도를 산출하는 방법을 제안한다. 제안 방법을 실험을 통하여 확인한 결과, 낮은 지역화 비용으로 결함 위치 추정을 할 수 있었다.

예외 흐름 분석을 정상 흐름 분석과 분리하여 Java프로그램에 대한 제어 흐름 그래프를 생성하는 방법 (A Method to Construct Control Flow Graphs for Java Programs by Decoupling Exception Flow Analysis from Normal Flow Analysis)

  • 조장우;창병모
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제31권5호
    • /
    • pp.643-650
    • /
    • 2004
  • 제어 흐름 그래프는 자료 흐름 분석과 제어 종속 분석과 같은 프로그램 분석 분야와 프로그램 슬라이싱과 테스팅과 같은 소프트웨어공학 분야에서 필요로 하는 정보이다. 이러한 분석들이 안전하고 유용하기 위해서는 제어 흐름 그래프는 예외 흐름을 포함해야 한다. 기존의 방법은 예외 흐름과 정상 흐름의 상호 의존적인 관계로 인해 두 흐름을 동시에 계산하면서 제어 흐름 그래프를 생성한다. 그러나 실제 Java 프로그램을 조사해 본 결과 두 흐름이 상호 의존적으로 필요한 경우는 거의 발생하지 않음을 알 수 있었다. 그러므로 정상 흐름과 예외 흐름을 분리해서 계산할 수 있음을 알았고, 예외 흐름을 계산하는 예외 흐름 분석을 제안한다. 그리고 예외 흐름을 표현하는 예외 흐름 그래프를 제안한다. 그리고 제어 흐름 그래프는 예외 흐름 그래프와 정상 흐름 그래프를 합병함으로써 생성될 수 있음을 보인다.