• 제목/요약/키워드: Automated Program Test Data Generation

검색결과 12건 처리시간 0.021초

SAT를 기반으로 하는 플래그 변수가 있는 프로그램 테스팅을 위한 테스트 데이터 자동 생성 (Automated Test Data Generation for Testing Programs with Flag Variables Based on SAT)

  • 정인상
    • 정보처리학회논문지D
    • /
    • 제16D권3호
    • /
    • pp.371-380
    • /
    • 2009
  • 최근에 테스트 데이터를 자동으로 생성하는 방법에 관한 연구가 활발하게 진행되고 있다. 그러나 이러한 방법들은 플래그 변수가 프로그램에 존재하는 경우에는 효과적이지 못함이 밝혀졌다. 이는 엔진 제어기와 같은 내장형 시스템들이 전형적으로 디바이스 관련 상태 정보를 기록하기 위해 플래그 변수를 많이 이용한다는 점을 고려할 때 문제가 된다. 이 논문에서는 플래그 변수가 있는 프로그램에 대하여 효과적으로 테스트 데이터를 생성할 수 있는 방법을 소개한다. 이 방법은 테스트 데이터 생성 문제를 SAT(SATisfiability) 문제로 변환하고 SAT 해결도구를 이용하여 자동으로 테스트 데이터를 생성한다. 이를 위해 프로그램을 1차 관계 논리 언어인 Alloy로 변환하고 Alloy 분석기를 통하여 테스트 데이터를 생성한다.

Alloy 명세 기반 자동 테스트 데이터 생성 기법 (An Alloy Specification Based Automated Test Data Generation Technique)

  • 정인상
    • 정보처리학회논문지D
    • /
    • 제14D권2호
    • /
    • pp.191-202
    • /
    • 2007
  • 일반적으로 테스트 데이터 생성 방법들은 테스트 데이터를 자동으로 생성하기 위해서 완전한 프로그램 경로를 기술한 것을 요구한다. 이 논문에서는 프로그램 경로를 완전하게 명시하지 않아도 테스트 데이터를 자동으로 생성하는 새로운 방법을 제안한다. 이를 위해 이 논문에서는 테스트 대상 프로그램을 1차 관계 논리 언어인 Alloy로 변환하고 Alloy 분석기를 통하여 테스트 데이터를 생성하는 방법을 제안한다. 제안된 방법은 사용자로 하여금 프로그램 경로를 선택하도록 하는 부담을 덜어줄 뿐만 아니라 다양한 테스트 적합성 기준에 따라 테스트 데이터를 생성하는 일을 용이하게 한다. 간단하지만 설명에 도움이 될 수 있는 예들을 통하여 제안한 방법에 대해 설명한다.

SAT에 기반한 포인터가 있는 프로그램을 위한 목적 지향 테스트 데이터 생성 (A Goal-oriented Test Data Generation for Programs with Pointers based on SAT)

  • 정인상
    • 인터넷정보학회논문지
    • /
    • 제9권2호
    • /
    • pp.89-105
    • /
    • 2008
  • 지금까지 테스트 데이터를 자동으로 생성하기 위한 대부분의 연구는 프로그램에 포인터가 존재하지 않는 경우만을 대상으로 하였다. 최근에 포인터가 있는 경우에도 테스트 데이터를 자동으로 생성할 수 있는 방법들이 제안되었지만 테스트할 프로그램 경로를 완전하게 명시해야 하는 경로 기반 방법이거나 프로그램을 실제 실행해야 하는 방법들이다. 이 논문에서는 프로그램 경로를 완전하게 명시하지 않아도 포인터가 있는 프로그램에 대하여 테스트 데이터를 생성할 수 있는 새로운 방법을 제안한다. 제안된 방법은 테스트 데이터 생성 문제를SAT(SATisfiability) 문제로 변환하고 SAT 해결도구를 이용하여 자동으로 테스트 데이터를 생성하는 정적 방법이다. 이를 위해 프로그램을 1차 관계 논리 언어인 Alloy로 변환하고 Alloy 분석기를 통하여 테스트 데이터를 생성한다.

  • PDF

다단계 스택 지향 포인터가 있는 프로그램 테스트를 위한 테스트 데이터 자동 생성 (Automated Test Data Generation for Testing Programs with Multi-level Stack-directed Pointers)

  • 정인상
    • 정보처리학회논문지D
    • /
    • 제17D권4호
    • /
    • pp.297-310
    • /
    • 2010
  • 최근에 콘콜릭 테스트이라 불리는 새로운 테스팅 방법이 많은 관심을 받고 있다. 콘콜릭 테스팅은 높은 테스트 커버리지를 달성하기 위해 실제 프로그램 수행과 심볼릭 수행을 결합하여 테스트 데이터를 생성한다. CREST는 콘콜릭 테스팅을 구현한 대표적인 open-source 테스트 도구이다. 그러나 현재 CREST는 입력으로 정수형만 다룬다. 이 논문은 포인터형인 입력이 존재하는 경우에 자동 테스트 데이터 생성을 위한 새로운 규칙을 제안한다. 이 규칙들은 C 프로그램에서 주로 사용되는 다단계 스택 지향 포인터를 효과적으로 처리한다. 또한, 이 논문에서는 제안 된 규칙을 구현한 vCREST라 불리는 도구에 대해 기술하고 C 프로그램에 적용한 결과도 함께 기술한다.

C 프로그램을 테스팅하기 위한 분기 커버리지에 기반을 둔 자동 테스트 데이터 생성 (Automated Test Data Generation Based on Branch Coverage for Testing C Programs)

  • 정인상
    • 한국콘텐츠학회논문지
    • /
    • 제12권11호
    • /
    • pp.39-48
    • /
    • 2012
  • 소프트웨어 테스팅이 소프트웨어 개발 비용의 상당 부분을 차지하는 것은 잘 알려진 사실이다. 소프트웨어 테스팅 비용을 줄이기 위해 소프트웨어 테스트 데이터를 자동으로 생성하는 방법에 많은 연구가 이루어지고 있다. 일반적으로 테스트 데이터 자동 생성을 지원하기 위해 심볼릭 실행기나 제약 해결기와 같은 정교한 도구들을 요구한다. 그러나 이와 같은 도구들을 개발하거나 구입하는 것은 소프트웨어 테스트 관련 비용을 증가시키는 또 다른 요소로 작용된다. 이 논문에서는 심볼릭 실행이나 제약 해결에 의존되지 않는 동적 테스트 데이터 방법을 제안한다. 제안된 방식은 분기 커버리지 기준을 효과적으로 만족하도록 Korel의 경로 지향 테스트 데이터 생성 방법을 확장한다. 이 논문에서는 삼각형 분류 프로그램에 대한 실험을 통하여 제안된 방법이 분기 커버리지를 매우 효과적으로 달성함을 보인다.

자동화된 프로그램 시험을 위한 입력 자료구조의 모양 식별 (Identifying a Shape of Input Data Structure for Automated Program Testing)

  • Insang, Chung
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제31권10호
    • /
    • pp.1304-1319
    • /
    • 2004
  • 프로그램 시험 비용은 테스트 데이타를 생성하는 과정을 자동화함으로써 상당히 줄일 수 있다. 테스트 데이타 생성은 보통 선택된 프로그램 경로를 실행하는 입력 값들을 식별하는 데 주안점을 둔다. 지금까지 많은 연구가 있어왔지만 여전히 해결해야할 문제가 있다 그러한 문제들 중에 모양 문제가 있다. 모양 문제는 주어진 프로그램 경로를 수행하기 위해 요구되는 입력 자료구조를 밝혀내는 문제이다. 이 논문에서 이 모양 문제에 대한 새로운 방법을 제시한다. 이 방법은 주어진 경로를 포인터 역 참조가 없는 정적단일 할당문 (Static Single Assignment, SSA) 형태로 변환한다. 이는 주어진 경로 상에 존재하는 각 프로그램 문장을 등식이나 부등식과 같은 제약식으로 간주할 수 있게 해준다. 이러한 제약식에 대한 해는 각 입력 변수에 대한 'points-to relation' 형태로 나타난다. 간단한 예들을 통하여 제안한 방법에 대해 설명한다.에 대해 설명한다.

테스트 데이터 자동 생성을 위한 적합도 평가 방법의 효율성 향상 기법 (An Improved Technique of Fitness Evaluation for Automated Test Data Generation)

  • 이선열;최현재;정연지;배정호;김태호;채흥석
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제37권12호
    • /
    • pp.882-891
    • /
    • 2010
  • 테스트 데이터를 자동으로 생성하기 위한 동적 테스트 데이터 생성에 관한 많은 연구가 이루어졌다. 동적 테스트 데이터 생성 방법은 가공 테스트 대상 프로그램(SUT; Software Under Test)을 실행시켜 기존의 테스트 데이터의 적합도를 평가하고, 평가된 적합도 값과 최적의 알고리즘을 이용하여 새로운 테스트 데이터를 생성하는 방법이다. 최근에 전역 최적화 알고리즘을 이용한 동적 테스트 데이터 생성에 관한 많은 연구가 이루어져 왔고, 이 알고리즘을 통해서 테스트 대상 프로그램 (SUT)의 커버리지를 높일 수 있는 데이터를 생성할 수 있다는 것이 실험적으로 밝혀졌다. 그러나 최적화 알고리즘은 오랜 연산 시간이 필요하기 때문에, 이를 이용한 방법은 테스트 데이터를 생성하기 위해 많은 시간이 걸린다는 단점이 있다. 본 논문에서는 최적화 알고리즘을 이용한 동적 테스트 데이터 생성의 시간을 줄이기 위하여, 최적화 알고리즘의 절차 중 적합도 평가 시간을 줄이는 방법을 제안한다. 이를 위하여 SUT의 테스트 목표 경로로 부터 생성된 적합도 평가 프로그램(FEP)을 정의하고, 가공 SUT 실행하는 대신 소개된 FEP를 이용한 적합도 평가 방법을 제안하고 'ConGA'라는 도구를 구현한다. 그리고 C언어로 작성된 프로그램을 'ConGA'를 이용하여, 테스트 데이터 생성 효율성을 확인하였다. 이 실험을 통하여 제안된 방법이 기존의 방법보다 테스트 데이터 생성에 걸린 시간을 평균적으로 약 20% 줄인 것을 확인할 수 있었다.

SAT를 이용한 MC/DC 블랙박스 테스트 케이스 자동 생성 (Automated Black-Box Test Case Generation for MC/DC with SAT)

  • 정인상
    • 정보처리학회논문지D
    • /
    • 제16D권6호
    • /
    • pp.911-920
    • /
    • 2009
  • 항공 소프트웨어가 FAA(미국연방항공청)에 승인받기 위해서는 DO-178B 표준에 따라야 한다. DO-178B에서는 안전 필수 소프트웨어의 단위 테스트가 MC/DC 기준을 만족하기를 요구하고 있다. MC/DC에 따른 테스트는 안전성과 관련된 오류를 효과적으로 찾을 수 있는 수단으로 알려져 있지만 MC/DC를 만족하는 테스트 케이스를 생성하는 작업이 용이하지 않는 것도 사실이다. 이 논문에서는 MD-SAT이라고 명명한 SAT(SATisfiability) 기술을 사용하여 MC/DC를 만족하는 테스트 케이스를 자동으로 생성하는 도구에 대해 소개한다. 이 도구는 결정표 기반 테스트, 인과 그래핑 및 상태 전이 테스트 방법을 구현한 도구에서 보다 다양한 테스트 케이스 생성을 위해 사용될 수 있다.

실행가능 목적 코드를 기반으로 하는 자동 테스트 데이터 생성 (Automated Test Data Generation based on Executable Object Codes)

  • 정인상
    • 한국인터넷방송통신학회논문지
    • /
    • 제12권2호
    • /
    • pp.189-197
    • /
    • 2012
  • 고수준의 명세나 고수준의 프로그래밍 언어로 작성된 원시 코드를 이용하여 테스트 데이터를 생성하는 것이 일반적이다. 그러나 어떤 상황에서는 이러한 테스트 데이터 생성 정보가 항상 이용가능하지 않을 수 있다. 이 논문에서는 실행가능 목적코드를 바탕으로 테스트 데이터를 생성하는 방법을 제안한다. 제안된 방법은 정교한 목적 코드 분석을 필요로 하지 않은 매우 간단한 함수 최소화 기법을 사용하여 동적으로 테스트 데이터를 생성한다. 삼각형 분류 프로그램에 대한 실험을 통하여 분기 커버리지를 매우 효과적으로 달성함을 보인다.

CRESTIVE-DX: 임베디드 소프트웨어에 대해 테스트케이스 생성을 지원하는 분산 Concolic 테스팅 도구 (CRESTIVE-DX: Design and Implementation of Distrusted Concolic Testing Tool for Embedded Software)

  • 임혜린;최한솔;김효림;홍신
    • 정보처리학회논문지:소프트웨어 및 데이터공학
    • /
    • 제9권8호
    • /
    • pp.229-234
    • /
    • 2020
  • 본 논문은 임베디드 소프트웨어에 대한 Concolic 테스팅을 효과적이고 효율적으로 지원하기 위해 임베디드 타겟(target) 시스템과 호스트(host) 시스템의 분산적이고 동시적으로 테스트 생성을 위한 작업을 수행하는 Concolic 테스팅 도구의 설계와 구현 사례를 소개한다. 소개하는 테스트 케이스 생성 도구는 Concolic 테스팅 과정 중 (1) 임베디드에 종속적인 특성을 갖는 테스트검증 대상 프로그램의 실행 부분은 임베디드 타겟 시스템에서 수행하고, (2) 시스템에 비종속적인 실행 부분인 탐색 전략, 제약식 해법기 실행 과정은 계산성능이 좋은 호스트 시스템에 분산하고, 독립적인 단계를 동시적으로 실행하도록 기존 Concolic 도구를 개선하였다. Arm Cortex A54 아키텍쳐의 임베디드 타겟 시스템과 x86-64 아키텍쳐의 호스트 시스템을 대상으로 본 기법을 구현하여 오픈소스 C 프로그램의 Grep, Busybox Awk, Busybox Ed를 대상으로 실험한 결과, 기존 도구 보다 1.59~2.64배 테스트케이스 생성속도가 향상됨을 확인할 수 있었다.