$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

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

정보처리학회논문지. KIPS transactions on software and data engineering. 소프트웨어 및 데이터 공학, v.9 no.8, 2020년, pp.229 - 234  

임혜린 (한동대학교 정보통신공학과) ,  최한솔 (한동대학교 정보통신공학과) ,  김효림 (한동대학교 전산전자공학부) ,  홍신 (한동대학교 전산전자공학부)

초록
AI-Helper 아이콘AI-Helper

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

Abstract AI-Helper 아이콘AI-Helper

This paper presents the design and the implementation of CRESTIVE-DX, a concolic testing tool that distribute the concolic testing process over the embedded target system and the host system for efficient test generation of a target embedded program. CRESTIVE-DX conducts the execution of a target pr...

주제어

표/그림 (4)

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

문제 정의

  • 본 논문은 임베디드 소프트웨어에 대한 Concolic 테스팅을 효과적이고 효율적으로 지원하기 위해, 임베디드 타겟(target) 시스템과 호스트(host) 시스템을 분산하여 동시적으로 테스트 생성 작업을 수행하는 Concolic 테스팅 도구의 설계와 구현 사례를 소개한다.
  • 본 논문은 임베디드 소프트웨어의 효과적이고 효율적인 테스팅을 임베디드 타겟 시스템과 호스트 시스템의 분산적 Concolic 테스팅 기법을 제안하고, 이를 CREST 도구를 확장하여 구현하여 테스트 생성 속도가 1.59∼2.64배 향상됨을 실험적으로 확인한 결과를 소개하였다.
  • 본 연구에서는 제안한 기법을 구현한 도구가 실제 임베디드 소프트웨어 테스팅 상황에서 Concolic 테스팅을 가능하게 하며, 기존 방식에 비해서 테스트 케이스 생산 효율성을 향상하였는지 평가하기 위해 다음과 같은 실험을 구상했다.
  • 이와 같이 기존 Concolic 테스팅 도구가 임베디드 소프트웨어를 대상으로 갖는 한계점을 효과적으로 해결하기 위하여, 본 논문에서는 Concolic 테스팅 과정 중 (1) 하드웨어 및 임베디드 시스템에 종속적인 특성을 갖는 테스트검증 대상 프로그램의 실행 부분을 임베디드 타겟 시스템에서 수행하고, (2) 하드웨어나 시스템에 종속적이지 않게 실행이 가능한 테스트 케이스 생성 탐색전략 실행, 제약식 해법기 실행 과정은 계산성능이 좋은 호스트 시스템에 분산하여, 독립적인 단계를 동시적으로 실행하는 개선된 Concolic 알고리즘과 이를 구현한 도구를 소개한다.
본문요약 정보가 도움이 되었나요?

질의응답

핵심어 질문 논문에서 추출한 답변
기존에 제시된 Concolic 테스팅 기법은 어떻게 개발되었는가? 기존에 제시된 Concolic 테스팅 기법은 Fig. 1에서 설명 하는 Concolic 테스팅 알고리즘 전체를 단일한 환경에서 수행하는 상황에 한정하여 개발되었다. 이로 인하여, 테스트 대상 프로그램 실행을 위해 계산 속도, 메모리, 자원 활용에 제약이 큰 임베디드 프로그램을 대상으로 기존 Concolic 테스팅 기법을 적용하는데 효과성 및 효율성에 있어서 한계가 큰 상황이다(1절에서 논의).
Concolic 테스팅 기법은 어떻게 동작하는가? 1은 기존 연구에서 제시해 온 일반적인 Concolic 테스팅의 수행 과정을 간략히 설명하는 알고리즘이다. Concolic 테스팅 기법은 테스트 대상 프로그램(P)와 초기 테스트 케이스(in0)를 입력으로 받은 후, 테스팅에 주어진 시간(자원)이 소진될 때까지(2행) 테스트 입력 생성을 반복한다(3-8행). Fig.
CREST의 각 모듈에 대한 설명은? 테스트 대상 프로그램 수정 모듈: C 프로그램 소스코드의 각 명령에 해당 명령의 실행 정보를 추출하는 탐침 (probe)을 삽입(instrument)한 후[9], 테스트 대상 프로그램을 빌드하는 과정에서 탐침에 동적 심볼릭 실행을 수행하는 라이브러리를 연결(bind)한다. ∙ 동적 심볼릭 실행 수행 모듈: 테스트 대상 프로그램에 삽입된 탐침에 의해서 심볼릭 실행의 각 단계에 대한 명령이 호출되어, 테스트 대상 프로그램이 실행하는 경로에 조건식이 도출된다. 결과적으로, 테스트 대상 프로그램의 실행이 종료될 때, 해당 경로에 대한 조건식이 부산물로 생성된다. ∙ 테스트 케이스 생성 모듈: 테스트 케이스로 테스트 대상 프로그램을 실행시켜 경로조건식을 생성하고, 생성된 경로 조건식을 Concolic 탐색 전략[9]과 SMT 해법기를 이용해 새로운 테스트 케이스를 생성하는 전체 과정을 운전한다.
질의응답 정보가 도움이 되었나요?

참고문헌 (10)

  1. N. Zhang, S. Demetriou, X. Mi, W. Diao, K. Yuan, P. Zong, F. Qian, X. Wang, K. Chen, Y. Tian, C. A. Gunter, K. Zhang, P. Tague and Y. Lin, "Understanding IoT Security Through the Data Crystal Ball: Where We Are Now and Where We Are Going to Be," CoRR, Vol. abs/1703.09809, 2017. 

  2. K. Sen, D. Marinov and G. Agha, "CUTE: a concolic unit testing engine for C," in Proceedings of the 10th European Software Engineering Conference Held Jointly with 13th ACM SIGSOFT International Symposium on Foundations of Software Engineering (ESEC/FSE-13), pp. 263-272, Sep. 2005. 

  3. C. Cadar, D. Dunbar and D. Engler, "KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs," in Proceedings of the 8th USENIX Conference on Operating Systems Design and Implementation (OSDI'08), pp. 209-224, Dec. 2008. 

  4. The Z3 Theorem Prover [Internet], https://github.com/Z3Prover/z3 

  5. Y. Kim, Y. Kim, T. Kim, G. Lee, Y. Jang and M. Kim, "Automated Unit Testing of Large Industrial Embedded Software Using Concolic Testing," in Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering (ASE'13), pp. 519-528, Nov. 2013. 

  6. Y. Park, S. Hong, M. Kim, D. Lee and J. Cho, "Systematic Testing of Reactive Software with Non-deterministic Events: A Case Study on LG Electric Oven," in Proceedings of the 37th International Conference on Software Engineering (ICSE'15), Vol. 2, pp. 29-38, May 2015. 

  7. Y. Kim, D. Lee, J. Baek and M. Kim, "Concolic Testing for High Test Coverage and Reduced Human Effort in Automotive Industry," in Proceedings of the 41st International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP'19), pp. 151-160, May 2019. 

  8. J. Burnim, CREST [Internet], https://github.com/jburnim/crest 

  9. G. C. Necula, S. McPeak, S. P. Rahul and W. Weimer, "CIL: Intermediate Language and Tools for Analysis and Transformation of C Programs," in Proceedings of the 11th International Conference on Compiler Construction (CC'02), pp. 213-228, Apr. 2002. 

  10. J. Burnim and K. Sen, "Heuristics for Scalable Dynamic Test Generation," in Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE'08), pp. 443-446, Sep. 2008. 

섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로