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