Skip to main content
QUICK REVIEW

[논문 리뷰] Bypassing the Combinatorial Explosion: Using Similarity to Generate and Prioritize T-wise Test Suites for Large Software Product Lines

Christopher Henard, Mike Papadakis|arXiv (Cornell University)|2012. 11. 23.
Advanced Software Engineering Methodologies참고 문헌 31인용 수 26
한 줄 요약

이 논문은 대규모 소프트웨어 제품군(SPLs)에서 스케일러블하고 유연한 테스트 생성을 가능하게 하기 위해, T-방식 테스트 세트를 생성하고 우선순위를 정하는 검색 기반의 유사도 기반 접근법을 제안한다. T에 종속되지 않는 방식으로, 제품 다양성 기반의 피트니스 함수를 사용함으로써, 조합 폭발을 피하면서도 대규모 FMs인 리눅스 커널과 같은 곳에서도 T=6일 때 최대 90.67%의 높은 T-방식 커버리지 달성을 이룬다.

ABSTRACT

Software Product Lines (SPLs) are families of products whose commonalities and variability can be captured by Feature Models (FMs). T-wise testing aims at finding errors triggered by all interactions amongst t features, thus reducing drastically the number of products to test. T-wise testing approaches for SPLs are limited to small values of t -- which miss faulty interactions -- or limited by the size of the FM. Furthermore, they neither prioritize the products to test nor provide means to finely control the generation process. This paper offers (a) a search-based approach capable of generating products for large SPLs, forming a scalable and flexible alternative to current techniques and (b) prioritization algorithms for any set of products. Experiments conducted on 124 FMs (including large FMs such as the Linux kernel) demonstrate the feasibility and the practicality of our approach.

연구 동기 및 목표

  • 대규모 SPL에서 조합 폭발으로 인해 전체 커버리지가 비현실적이게 되는 정확한 T-방식 테스트의 스케일러비리티 한계를 해결하기 위해.
  • 시간과 예산 제약 조건 하에서 대규모 기능 모델에서의 테스트 세트 생성을 가능하게 하기 위해.
  • T-방식 기능 상호작용을 가장 많이 커버할 잠재력을 가진 제품을 우선순위에 따라 정렬하기 위해.
  • 모든 T-방식 조합을 명시적으로 나열하는 데 드는 비용을 피하기 위해 T값에 종속되지 않는 방법 개발하기 위해.

제안 방법

  • 검색 기반 알고리즘을 이끄는 데 유사도 기반 피트니스 함수를 사용하여, 제품 간의 다양성을 측정함으로써 T-방식 커버리지를 최대화한다.
  • 기능 모델 제약 조건을 위반하지 않도록 하기 위해, 반복적으로 전체 구성 요소를 선택하고 교체함으로써 유효한 SPL 제품을 생성한다.
  • 예상되는 T-방식 상호작용 커버리지 기반으로 제품을 순위 매길 수 있는 두 가지 우선순위 정하기 알고리즘인 Greedy 및 Near Optimal을 도입한다.
  • T-방식 조합을 명시적으로 나열하지 않고, 커버리지 잠재력의 대체 지표로 제품 유사도에 의존함으로써, T-방식 조합의 명시적 나열을 피한다.
  • 프레임워크는 리눅스 커널을 포함한 총 124개의 FMs에서 구현 및 평가되었으며, 이는 약 7,000개의 기능과 약 200,000개의 제약 조건을 포함한다.

실험 결과

연구 질문

  • RQ1대규모 기능 모델과 높은 T 값에서도 효율적으로 T-방식 테스트 생성을 모방하면서도, 타당한 커버리지를 달성할 수 있는가?
  • RQ2T-방식 테스트에 가장 관련성이 높은 제품는 무엇이며, 고장 탐지의 최적화를 위해 어떻게 우선순위를 정할 수 있는가?
  • RQ3모든 T-방식 조합을 나열하지 않고도 시간과 예산 제약 조건 하에서 스케일러블하고 민감한 테스트 세트를 생성할 수 있는가?

주요 결과

  • 리눅스 커널 FM에서 단지 1,000개의 테스트 제품을 사용하여 최대 90.671%의 6-방식 커버리지를 달성했다.
  • 이 방법은 약 7,000개의 기능과 약 8.71×10^21개의 유효한 6-세트를 포함하는 가장 큰 테스트된 FM인 리눅스 커널에 대해 합리적인 시간 내에 스케일링에 성공했다.
  • 유사도 기반 피트니스 함수 덕분에, T-방식 조합을 명시적으로 계산하지 않아도 효율적인 생성이 가능했으며, 이는 T에 종속되지 않는 방법을 가능하게 했다.
  • Greedy 및 Near Optimal 우선순위 정하기 알고리즘이 효과적으로 제품을 순위 매겨 T-방식 커버리지를 최대화했으며, 무작위 선택보다 뛰어난 성능을 보였다.
  • 기존 도구로는 처리가 어려웠던 실제 및 합성 FMs에서도 프레임워크의 실용적 타당성이 입증되었다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.