검색 : [ keyword: debugging ] (4)

유사 패치 기반 자동 프로그램 수정 기법

장세창, 김성빈, 최준혁, 김진대, 남재창

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

휴리스틱 기반 자동 프로그램 수정(Automated Program Repair, APR) 기술의 주요 관심사는 탐색 공간의 크기 문제이다. 본 연구에서는 버그를 생성한 수정(Bug Introducing Change)의 유사성을 활용하여 탐색 공간을 줄이고, 적절한 수정 연산자를 제안하는 새로운 접근 방식인 Similar Patch Identifier(SPI)를 제안한다. 이 접근법을 평가하기 위해, 기존의 문맥 기반 APR 도구인 ConFix와 자바 결함 벤치 마크인 Defects4J를 활용했다. 실험을 통해 SPI가 탐색 공간을 각 결함에 적합한 10개의 버그 수정 커밋 후보로 줄였음에도, 기존 APR 도구인 ConFix가 고치지 못했던 4개의 버그에 대한 수정을 만들어내는 유의미한 결과를 확인할 수 있었다.

RESTful 웹 어플리케이션 행위 모델 기반 결함 위치 추정

장종인, 이낙원, 류덕산, 백종문

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

웹 어플리케이션의 규모나 복잡성이 전통적인 소프트웨어보다 커 기존 결함 위치 추정 기법을 적용하기 어렵고, 웹 어플리케이션과 같은 복잡한 시스템 대상의 연구들도 시스템 내 구성 요소들 간 간접적 상호작용과 시스템의 동적 재구성을 고려하지 못한다. 이 문제를 풀기 위해 본 연구는 RESTful 웹 어플리케이션의 실행 기록을 구성 요소들이 수행하는 행위들의 순열로 모델링하고, 그 행위 모델 상에서 결함을 위치 추정하는 기법을 제안한다. 이 기법은 직간접적 상호작용을 모두 반영하는 행위 모델을 사용하고 실행 전에 모델을 미리 구축할 필요가 없어 동적 환경에 적합하다. 기법의 평가를 위해 사례 연구를 수행하여 전체 디버깅 대상 수의 1.8%에 해당하는 순위 내에 모든 결함을 위치 추정했다. 본 연구에서 제안하는 행위 모델 기반 RESTful 웹 어플리케이션 결함 위치 추정 기법이 대규모의 복잡한 웹 어플리케이션의 디버깅 노력을 효과적으로 감소시킬 것으로 기대된다.

Software Black Box

Hyunmin Yoon, Minsoo Ryu

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

결정적 재현 방법은 컴퓨터 시스템의 실행을 결정적으로 재현함으로써 디버깅, 고장감내, 보안 및 사후분석을 비롯한 여러 영역에서 효과적으로 이용될 수 있다. 기존에 제안된 전시스템 재현 방법들은 전시스템 재현을 위해 특수한 하드웨어의 구현 또는 가상머신 기술의 지원을 요구한다는 제약이 있다. 본 논문에서는 특수한 하드웨어의 구현 또는 가상머신 기술의 지원을 요구하지 않는 소프트웨어 기반 전시스템 재현 기술인 소프트웨어 블랙박스(SBB)를 제안한다. 본 논문에서 제안하는 SBB는 과거 실행된 응용프로그램과 운영체제의 실행을 결정적으로 재현한다. ARMv7 Cortex-A9 시스템 상에 구현된 SBB의 프로토타입은 응용 프로그램과 운영체제에서 발생할 수 있는 경쟁상태와 교착상태를 성공적으로 재현하였으며 낮은 성능 오버헤드를 보였다.

멀티 스레드 프로그램의 자료경합 탐지를 위한 수행 중 감시 도구

팽봉준, 박세원, 구인본, 하옥균, 전용기

http://doi.org/

멀티 스레드 프로그램의 수행 중에 발생하는 자료경합과 원자성 위배 등과 같은 동시성 오류는 스레드들의 비결정적 수행으로 인해 다양한 수행 순서를 고려해야 하고 재생산 또한 어렵기 때문에 디버깅하기 어렵고 귀찮은 오류로 잘 알려져 있다. 이러한 자료경합을 디버깅하기 위해서는 스레드의 수행순서와 메모리 접근 및 동기화 정보 등과 같은 프로그램의 수행 중에 발생한 정보를 수집 및 분석해야 한다. 본 논문에서는 멀티 스레드 프로그램의 수행 중에 벡터 클록 시스템을 기반으로 스레드의 병행성과 접근사건들 간의 순서관계를 생성 및 유지함으로써 정확하면서도 효율적인 감시와 분석이 가능한 도구인 VcTrace를 제시한다. 제시된 감시 도구를 사용하여 멀티 스레드 기반의 응용 프로그램을 대상으로 수행중 발생한 스레드와 접근사건 등의 정보를 감시 및 유지하고, 자료경합을 탐지하는 기술과 접목하여 실용성을 분석한다.


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