• Title/Summary/Keyword: 테스트 커버리지

Search Result 86, Processing Time 0.029 seconds

Automated Test Data Generation for Dynamic Branch Coverage (동적 분기 커버리지를 위한 테스트 데이터 자동 생성)

  • Chung, In Sang
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.2 no.7
    • /
    • pp.451-460
    • /
    • 2013
  • In order to achieve high test coverage, it is usual to generate test data using various techniques including symbolic execution, data flow analysis or constraints solving. Recently, a technique for automated test data generation that fulfills high coverage effectively without those sophisticated means has been proposed. However, the technique shows its weakness in the generation of test data that leads to high coverage for programs having branch conditions where different memory locations are binded during execution. For certain programs with flag conditions, in particular, high coverage can not be achieved because specific branches are not executed. To address the problem, this paper presents dynamic branch coverage criteria and a test data generation technique based on the notion of dynamic branch. It is shown that the proposed technique compared to the previous approach is more effective by conducting experiments involving programs with flag conditions.

Runtime-Guard Coverage Guided Fuzzer Avoiding Deoptimization for Optimized Javascript Functions (최적화 컴파일된 자바스크립트 함수에 대한 최적화 해제 회피를 이용하는 런타임 가드 커버리지 유도 퍼저)

  • Kim, Hong-Kyo;Moon, Jong-sub
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.30 no.3
    • /
    • pp.443-454
    • /
    • 2020
  • The JavaScript engine is a module that receives JavaScript code as input and processes it, among many functions that are loaded into web browsers and display web pages. Many fuzzing test studies have been conducted as vulnerabilities in JavaScript engines could threaten the system security of end-users running JavaScript through browsers. Some of them have increased fuzzing efficiency by guiding test coverage in JavaScript engines, but no coverage guided fuzzing of optimized, dynamically generated machine code was attempted. Optimized JavaScript codes are difficult to perform sufficient iterative testing through fuzzing due to the function of runtime guards to free the code in the event of exceptional control flow. To solve these problems, this paper proposes a method of performing fuzzing tests on optimized machine code by avoiding deoptimization. In addition, we propose a method to measure the coverage of runtime-guards by the dynamic binary instrumentation and to guide increment of runtime-guard coverage. In our experiment, our method has outperformed the existing method at two measures: runtime coverage and iteration by time.

A coverage driven test method for J2EE Applications through flow analysis (J2EE 애플리케이션의 흐름분석을 통한 커버리지 기반 테스트 방법)

  • Junggyw Lee;Seunghak Kuk;Hyeonsoo Kim
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2008.11a
    • /
    • pp.516-519
    • /
    • 2008
  • 최근 엔터프라이즈 애플리케이션은 J2EE 컴포넌트로 개발된다. J2EE 플랫폼은 애플리케이션을 개발하는데 편리한 기능을 제공한다. 하지만 J2EE 애플리케이션의 테스트는 J2EE 서버 내부에서 자원을 관리하는 컨테이너의 접근 통제 때문에 기존의 테스트 방법으로 수행하기 어렵다. 본 논문에서는 J2EE 환경에 맞는 J2EE 애플리케이션의 테스트 방법을 제안한다. 이 방법은 애플리케이션을 구성하는 EJB 컴포넌트를 정적 및 동적 분석하여 획득한 정보로 애플리케이션의 메소드 커버리지를 분석하고, 메소드 커버리지를 향상시키기 위한 테스트 데이터를 생성하여 J2EE 애플리케이션을 테스트한다.

Concolic testing research to satisfy the MC/DC coverage (MC/DC 커버리지를 만족하는 콘콜릭 테스팅 연구)

  • Choi, Sook-won;Koo, Keun-hoi;Choi, Jin-Young
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2016.10a
    • /
    • pp.423-425
    • /
    • 2016
  • 콘콜릭 테스팅(Concolic testing)은 프로그램 실행을 실제 구체적인 입력 값(Concrete Values)을 입력하며, 동시에 심볼릭 실행 (Syrnbolic execution)을 진행하는 테스팅 기법이다. 콘콜릭 테스팅은 모든 실행 가능 경로를 탐색하여, 테스트 케이스를 자동 생생한다. 그래서 높은 분기 커버리지를 나타내지만, 안전성을 목표로 하는 MC/DC 커버리지는 만족하지 못한다. 본 논문에서는 분기 커버리지와 MC/DC 커버리지를 만족하는 테스트 케이스를 자동생성하는 CREST 도구 개선을 제안한다.

Dynamic Test Data Generation for Branch Coverage (분기 커버리지를 위한 동적 테스트 데이터 생성)

  • Chung, In-Sang;Seong, Yeong-Rak
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2012.06b
    • /
    • pp.150-152
    • /
    • 2012
  • 일반적으로 테스트 데이터 자동 생성을 지원하기 위해 심볼릭 실행기나 제약 해결기와 같은 도구를 요구한다. 그러나 이와 같은 도구들을 개발하는 것은 상당한 노력이 요구되는 것도 사실이다. 이 논문에서는 이러한 도구들의 지원 없이 분기 커버리지를 효과적으로 달성할 수 있는 테스트 데이터 생성 방법을 제안한다. 이를 위해 경로 지향 테스트 데이터 생성을 위해 개발된 Korel의 방법을 확장하여 프로그램의 분기들을 가능한 많이 실행할 수 있는 테스트 데이터를 효과적으로 생성하는 방법을 제안한다.

Transformation Method for a State Machine to Increase Code Coverage (코드 커버리지를 높이기 위한 상태 머신 변환 방법)

  • Yoon, YoungDong;Choi, HyunJae;Chae, HeungSeok
    • Journal of KIISE
    • /
    • v.43 no.9
    • /
    • pp.953-962
    • /
    • 2016
  • Model-based testing is a technique for performing the test by using a model that represents the behavior of the system as a system specification. Industrial domains such as automotive, military/aerospace, medical, railway and nuclear power generation require model-based testing and code coverage-based testing to improve the quality of software. Despite the fact that both model-based testing and code coverage-based testing are required, difficulty in achieving a high coverage using model-based testing caused by the abstraction level difference between the test model and the source code, results in the need for performing model-based testing separately. In this study, to overcome the limitations of the existing model-based testing, we proposed the state machine transformation method to effectively improve the code coverage using the protocol state machine, one of the typical modeling methods is used as the test model in model-based testing, as the test model. In addition, we performed a case study of both systems and analyzed the effectiveness of the proposed method.

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

  • Chung, In-Sang
    • The Journal of the Korea Contents Association
    • /
    • v.12 no.11
    • /
    • pp.39-48
    • /
    • 2012
  • It is well known that software testing amounts for a significant portion of software development cost. In order to reduce the cost of software testing. a lot of researches on automated test data generation have been performed. Sophisticated tools for performing symbolic execution or solving a system of path constraints are required to support automated test data generation. Developing or purchasing those tools leads to another factor of increasing the cost involving software testing. In this paper, we propose a dynamic test data generation approach that does not depend on symbolic execution or constraint solving at all. The proposed approach extends Korel's path-oriented method to satisfy the branch coverage criterion effectively. We conducted an experiment to evaluate the effectiveness of the proposed technique with a triangle classification program to show that branch coverage can be easily achieved.

The Study for ENHPP Software Reliability Growth Model based on Burr Coverage Function (Burr 커버리지 함수에 기초한 ENHPP소프트웨어 신뢰성장모형에 관한 연구)

  • Kim, Hee-Cheul
    • Journal of the Korea Society of Computer and Information
    • /
    • v.12 no.4
    • /
    • pp.33-42
    • /
    • 2007
  • Accurate predictions of software release times, and estimation of the reliability and availability of a software product require quantification of a critical element of the software testing process : test coverage. This model called Enhanced non-homogeneous poission process(ENHPP). In this paper, exponential coverage and S-shaped model was reviewed, proposes the Kappa coverage model, which maked out efficiency application for software reliability. Algorithm to estimate the parameters used to maximum likelihood estimator and bisection method, model selection based on SSE statistics and Kolmogorov distance, for the sake of efficient model, was employed. From the analysis of mission time, the result of this comparative study shows the excellent performance of Burr coverage model rather than exponential coverage and S-shaped model using NTDS data. This analysis of failure data compared with the Kappa coverage model and the existing model(using arithmetic and Laplace trend tests, bias tests) is presented.

  • PDF

LTL Synthesis and Graph coverage, GUI test path generation using (LTL Synthesis와 그래프 커버리지를 이용한 GUI 테스트 경로 생성)

  • Kim, Tae-Kyun;Cho, Min-Taek;Kwon, Gi-Hwon
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2011.06a
    • /
    • pp.217-220
    • /
    • 2011
  • LTL Synthesis와 그래프 커버리지를 이용하여 시스템의 요구사항으로 속성을 추출하여 GUI 의 테스트경로 생성에 대하여 설명한다. LTL Synthesis 는 GR formula 라는 특수한 형태를 사용하여 시스템의 상태, 환경으로부터의 입력 정보와 시스템의 행위, 상위 수준의 작업의 작업 명세를 입력으로 받아 GR formula 형태로 변환하고 기대되는 작업이 실현 가능하면 오토마타를 생성한다. 이렇게 생성된 오토마타에 그래프 커버리지를 이용하여 실험 가능한 GUI 테스트 경로를 생성하여 시스템을 검사한다.

A Method of Test Coverage Measurement Based on BitTorrent for Internet of Things Environment (사물 인터넷 환경을 위한 BitTorrent 알고리즘 기반의 테스트 커버리지 측정기법)

  • Ryu, Hodong;Lee, Woo Jin
    • KIPS Transactions on Computer and Communication Systems
    • /
    • v.3 no.10
    • /
    • pp.365-370
    • /
    • 2014
  • Although Internet of Things already became a new paradigm on service on network, we should pay more effort for studying about its testing method, since humans, things and environments in IoT are connected to each other without any restrictions. Earlier researches based on emulators showed that such virtual devices on emulators had unavoidable gap between them and real things. Furthermore, growth of connection complexity between the devices and loosing of restrictions make the gap wider. Accordingly, in this paper, we suppose a method of test coverage measurement based on BitTorrent for IoT environment. It has cooperation features among homogeneous devices with avoiding the overlapping on each part of whole test process.