검색 : [ keyword: Mutation Analysis ] (3)

커버리지 변화 정보를 활용한 코드 누락 결함에 대한 뮤테이션 기반 결함 위치 식별 기법의 성능 향상

전주영, 홍신

http://doi.org/10.5626/JOK.2020.47.9.863

많은 소프트웨어 결함이 코드 누락 결함(omission fault)의 형태를 가지는 데 반하여, 기존의 뮤테이션 기반 결함 위치 식별(mutation-based fault localization) 기법은 코드 누락 결함에 대해 낮은 정확도를 보여 효용성이 낮은 문제가 있다. 본 논문에서는 뮤테이션 기반 결함 위치 식별 기법인 MUSEUM과 Metallaxis에 뮤테이션에 따른 커버리지 변화와 테스트 결과 또는 출력을 연계하는 요소를 추가함으로써 코드 누락 결함을 대상으로 위치 식별 성능을 향상하는 MUSEUM+과 Metallaxis+ 기법을 제안한다. 10개의 코드 누락 결함과 6개의 일반 결함을 포함하는 총 16개 Defects4J 결함사례를 대상으로 실험한 결과, 제안한 MUSEUM+과 Metallaxis+기법은 총 10개의 코드 누락 결함 중 6개에 대해 효과적으로 정확도를 향상시켰으며, 16개 전반에 있어 정확도 향상을 확인할 수 있었다.

효과적인 변이 분석을 위한 C 프로그램 변이 도구 비교

김윤호, 김현우, 양웅규, 김문주

http://doi.org/10.5626/JOK.2018.45.4.342

변이 분석은 분석 대상 프로그램의 코드를 변형한 프로그램 변이를 실행해 프로그램 변형에 따른 실행 결과 변화를 분석하는 기법이다. 프로그램 변이 분석이 효과적이기 위해선 프로그램 변이 도구가 효과적인 프로그램 변이를 생성할 수 있어야 한다. 예를 들어 생성된 프로그램 변이가 분석 대상 프로그램과 의미가 동일한 동등 변이거나 다른 변이와 의미가 동일한 중복 변이인 경우 변이 분석을 통한 다양한 실행결과 변화를 볼 수 없기 때문에 변이 분석에 효과적이지 않다. 본 논문에서는 C 프로그램의 효과적인 변이분석을 위해 변이 도구 Proteum과 Milu를 대상으로 얼마나 효과적인 프로그램 변이를 생성하는지 비교하였다. 효율적으로 효과적인 프로그램 변이를 생성하기 위해 변이된 표현식의 정규형을 계산하고 정규형이 같은 변이를 중복 변이로 제거하였다. SIR 벤치마크의 4개 Linux/Unix 유틸리티 프로그램 프로그램을 대상으로 적용한 결과 Proteum과 Milu가 생성한 변이 중 각각 평균 48.7%, 46.4%가 유용한 변이였다.

Mutagen4J : 효과적인 Java 프로그램 변이 생성 도구

전이루, 김윤호, 홍신, 김문주

http://doi.org/

프로그램 변이 분석은 분석대상 프로그램의 코드를 변형한 다양한 프로그램 변이를 활용해 분석대상 프로그램의 특성을 분석하는 기법이다. 효과적인 변이 분석을 위해서는 분석대상 프로그램의 동작을 다양하게 변화시키는 유용한 변형 연산자의 사용이 필수적이다. 현재까지 Java 프로그램을 대상으로 제안된 변이 생성 도구들은 변형 연산자의 종류가 제한적이거나, 최근 Java 언어 요소로 작성된 분석대상 프로그램의 경우 올바른 변이 생성을 지원하지 못하는 한계가 있다. 본 논문은 Java 프로그램을 위한 새로운 변이 생성 도구 Mutagen4J를 소개한다. Mutagen4J는 기존 연구를 통해 유용한 것으로 알려진 프로그램 변형 연산자를 추가로 지원하며, 최근 Java 언어요소를 처리함으로써, Java 프로그램에 대한 효과적인 변이 분석을 지원한다. 기존 Java 프로그램 변이 생성 도구와 비교 실험을 수행한 결과, Mutagen4J이 기존 도구보다 유용한 변이를 평균 2.3배 생성하였다.


Search




Journal of KIISE

  • ISSN : 2383-630X(Print)
  • ISSN : 2383-6296(Electronic)
  • KCI Accredited Journal

사무국

  • Tel. +82-2-588-9240
  • Fax. +82-2-521-1352
  • E-mail. chwoo@kiise.or.kr