• 제목/요약/키워드: Bug detection

검색결과 13건 처리시간 0.021초

Systematic Review of Bug Report Processing Techniques to Improve Software Management Performance

  • Lee, Dong-Gun;Seo, Yeong-Seok
    • Journal of Information Processing Systems
    • /
    • 제15권4호
    • /
    • pp.967-985
    • /
    • 2019
  • Bug report processing is a key element of bug fixing in modern software maintenance. Bug reports are not processed immediately after submission and involve several processes such as bug report deduplication and bug report triage before bug fixing is initiated; however, this method of bug fixing is very inefficient because all these processes are performed manually. Software engineers have persistently highlighted the need to automate these processes, and as a result, many automation techniques have been proposed for bug report processing; however, the accuracy of the existing methods is not satisfactory. Therefore, this study focuses on surveying to improve the accuracy of existing techniques for bug report processing. Reviews of each method proposed in this study consist of a description, used techniques, experiments, and comparison results. The results of this study indicate that research in the field of bug deduplication still lacks and therefore requires numerous studies that integrate clustering and natural language processing. This study further indicates that although all studies in the field of triage are based on machine learning, results of studies on deep learning are still insufficient.

퍼즈 테스팅을 통한 소프트웨어 회귀 버그 탐색 기법의 동향과 전망 (The Status Quo and Future of Software Regression Bug Discovery via Fuzz Testing)

  • 이광무;이병영
    • 정보보호학회논문지
    • /
    • 제31권5호
    • /
    • pp.911-917
    • /
    • 2021
  • 소프트웨어 패치가 빈번하게 이루어지는 최근의 추세에 따라, 소프트웨어 버그 역시 패치로 인해 유도되는 버그인 회귀 버그의 비중이 점차 증가하는 추세이다. 이에 산업계와 학계에서는 최근 자동 버그 탐지 방법으로 주목받고 있는 퍼즈 테스팅을 도입 및 개량하여 회귀 버그를 사전에 탐지하고자 하는 시도가 점차 활발해지고 있다. 이 논문에서는 회귀 버그 탐지를 위한 퍼즈 테스팅 연구의 현황에 대하여 살펴보고, 현재 기법들에 존재하는 한계를 참고삼아 향후 관련 연구의 방향에 대한 전망을 제시한다.

효과적인 내장형 소프트웨어의 정수 확장 (Integer Promotion) 버그 검출 기법 (Effective Integer Promotion Bug Detection Technique for Embedded Software)

  • 김윤호;김태진;김문주;이호정;장훈;박민규
    • 정보과학회 논문지
    • /
    • 제43권6호
    • /
    • pp.692-699
    • /
    • 2016
  • 세탁기, 냉장고 등의 가전제품에 탑재되는 8-bit MCU용 C 컴파일러는 소프트웨어 실행 속도를 높이기 위해 표준 C 언어 규칙을 따르지 않고 컴파일을 수행할 수 있다. 개발자가 일반 C 컴파일러와 8-bit MCU용 C 컴파일러의 차이를 정확하게 이해하지 못할 경우 표준 C 언어 환경에서는 발생하지 않으나 8-bit MCU를 사용하는 내장형 시스템에서는 발생하는 버그를 야기할 수 있으며 이런 버그는 표준 C언어 환경을 가정하는 버그 검출 도구로는 찾기 어렵다. 본 논문에서는 표준 C 정수 확장 규칙을 따르지 않는 8-bit MCU용 컴파일러를 사용할 때 발생하는 정수 확장 버그를 소개하고 정수 확장 버그를 탐지하기 위한 다섯 종류의 버그 패턴을 제안한다. 정수 확장 버그 패턴 검출 도구를 개발하여 LG전자 세탁기 소프트웨어를 분석한 결과 컴파일러 옵션을 잘못 선택한 경우 발생하는 27개의 정수 확장 버그를 발견하였다.

GUI 버그 검출을 위한 블랙박스 기반의 시험 (A Black-Box based Testing for GUI Bug Detection)

  • 이제민;김형신
    • 정보과학회 논문지
    • /
    • 제41권12호
    • /
    • pp.1013-1017
    • /
    • 2014
  • 앱 마켓을 통해서 공급되는 많은 수의 응용프로그램들은 유용한 기능들을 제공한다. 하지만, 검증 과정의 비효율성 때문에 GUI 버그들을 포함하는 것이 많다. 모바일 시험연구는 많이 있지만 기존의 연구들은 소스코드에 대한 의존도가 있고, 효율성이 낮으며, 자동성이 부족하여 앱 마켓에 있는 광범위한 응용프로그램에 대해서 GUI 시험을 수행하기에는 한계가 존재한다. 본 논문에서는 효율적으로 GUI 버그를 검출하기 위한 자동화된 블랙박스 시험 방법을 제안한다. 실험결과 제안한 방법은 기존 블랙 박스 시험 도구에 비해서 더 높은 코드 커버리지와 GUI 버그 검출률을 달성했다.

기계학습 기반 스케줄링 전략을 적용한 최신 퍼징 연구 (A Study of Machine Learning-Based Scheduling Strategy for Fuzzing)

  • 정지우;김태호;권태경
    • 정보보호학회논문지
    • /
    • 제34권5호
    • /
    • pp.973-980
    • /
    • 2024
  • 퍼징은 프로그램을 테스트하기 위해 많은 테스트케이스를 생성하고 예외 상황을 모니터링하는 자동화된 테스팅 기술이다. 최근 퍼징 과정에서 발생하는 다양한 문제를 해결하기 위해 기계학습을 적용한 퍼징 연구가 활발히 제안되고 있지만, 기계학습을 적용한 퍼징 연구에 대한 종합적인 평가는 부족하다. 본 논문에서는 퍼징의 스케줄링 기법에 기계학습을 적용한 최신 연구들을 강화학습 기반과 지도학습 기반 퍼저로 분류하여 분석하였다. 분석된 기계학습 기반 퍼저들을 서로 다른 네 가지의 파일 포맷을 사용하는 리얼월드 프로그램에 적용하여 커버리지 확보 성능을, LAVA-M 데이터셋을 사용하여 버그 탐지 성능을 확인하였다. 실험 결과, 시드 클러스터링 기법과 강화학습을 통한 시드 스케줄링 기법을 적용한 AFL-HIER가 커버리지 확보와 버그 탐지 성능에서 우수한 성과를 보였다. 지도학습의 경우, 코드 복잡도가 높은 tcpdump를 대상으로 높은 커버리지 확보를 보였으며, 하이브리드 퍼징에 적용하였을 때 버그 탐지 성능이 뛰어났다. 본 연구는 기계학습과 퍼징 과정을 최적화하는 추가적인 기법을 함께 적용하였을 때 커버리지 확보와 버그 탐지 성능이 우수하다는 점을 보여주었다. 향후 다양한 입력 포맷을 다루는 프로그램에 효과적으로 적용할 수 있는 실용적이고 강력한 기계학습 기반 퍼징 기법에 대한 연구가 필요하다.

효과적인 프로그래밍 오류분석을 위한 지식표현연구 (A Study of Knowledge Representation for Effective Programming Error Detection)

  • 송종수;송두헌
    • 한국컴퓨터산업학회논문지
    • /
    • 제4권10호
    • /
    • pp.559-570
    • /
    • 2003
  • 프로그래밍 초보자의 개인차에 따라 효과적인 개별학습을 제공하는 프로그래밍 언어 교사 시스템 구축을 위해서는 초보자의 프로그램에 있는 오류를 분석하고 그 원인을 파악할 수 있어야 한다. 본 연구에서는 플랜 정합과 프로그램 실행에 기반한 효과적인 프로그래밍 오류분석 시스템을 제안하고자 한다. 프로그램 실행 결과를 이용하여, 연관된 프로그래밍 플랜간의 연결 관계를 유연하게 표시하고, 플랜 정합의 차이점을 검증하며, 플랜간 공유변수의 조건에 따른 인과관계의 파악할 수 있게 된다. 또한 초보자에게 제공하는 오류 메시지는 플랜 간의 인과관계에 따라 오류의 원인과 그 파급 효과를 지적하고 예제나 반례에 해당하는 사례를 구체적으로 제공할 수 있게 되어, 사용자가 쉽고 명확하게 이해할 수 있게 제공이 가능해졌다.

  • PDF

모델기반의 커널 테스팅 프레이뭐크 (MOdel-based KERnel Testing (MOKERT) Framework)

  • 김문주;홍신
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제36권7호
    • /
    • pp.523-530
    • /
    • 2009
  • 최근 내장형 시스템이 점점 많은 분야에 사용되며, 시스템에 특화된 운영체제 커널에 대한 필요성이 커지고 있다. 하지만, 커널 개발은 코드의 복잡성 등의 이유로 말미암아 테스팅에 큰 비용이 소요됨에도 불구하고, 높은 신뢰성을 달성하기가 어려운 실정이다. 이러한 커널 개발 및 테스팅의 어려움을 극복하기 위해, 운영체제 커널의 동시성 오류 검출을 지원하는 모델 기반의 커널 테스팅 (MOKERT) 프레임워크를 제안한다. MOKERT 프레임워크는 주어진 C 프로그램을 Promela 정형 명세 모델로 변환하고 나서 Spin 모델검증기를 사용하여 검증하고, 검증반례가 생성된 경우, 이 검증반례를 실제 커널 코드에서 실행을 시켜서 진위를 확인한다. 본 연구에서는 MOKERT 프레임워크를 리눅스 proc파일시스템에 적용하여, ChangeLog에 보고된 오류가 실제로 자원경쟁문제를 일으킴을 확인하였을 뿐만 아니라, 커널 패닉을 일으키는 새로운 오류도 발견하였다.

해커의 공격에 대한 지능적 연계 침입방지시스템의 연구 (A Study of the Intelligent Connection of Intrusion prevention System against Hacker Attack)

  • 박대우;임승린
    • 한국컴퓨터정보학회논문지
    • /
    • 제11권2호
    • /
    • pp.351-360
    • /
    • 2006
  • 기존의 침입차단시스템과 침입탐지시스템의 단점을 개선할 수 있는 지능적 연계 침입방지시스템을 제안한다. 제안된 보안 시스템은 공격 검출, 공격 우회로 설정 및 통신량 대역 확보, 다른 연계 보안 시스템에 공격 정보 홍보, 내부 IPS에서의 필터 생성, 차단 필터링의 즉각적인 업데이트, 공격 패킷 차단 및 서비스와 포트 차단 설정이다. 스위치 타입 구현과 동적 재설정 메모리들을 통해 새로운 보안 규칙과 패킷 필터링을 실시간으로 교환하고 패킷을 처리한다. 네트워크 성능 실험에서 해커의 공격인 2.5 Gbs의 DDoS, SQL Stammer, Bug bear, Opeserv worm 등에 대한 공격검출이 실시간으로 이루어졌다. 이를 갱신하는 보안 정책 알고리즘의 즉각적인 갱신의 결과로 정상적인 패킷 외에 해커의 공격으로 인한 패킷은 차단되었고, 트래픽은 감소되어, 정상적인 내부와 외부 네트워크 트래픽의 잔여 대역폭을 확보하였다.

  • PDF

Use-After-Free 버그 탐지 및 예방 연구 동향 분석 (Analyze trends in Use-After-Free bug detection and blocking research)

  • 김진환;조영필
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2024년도 춘계학술발표대회
    • /
    • pp.222-225
    • /
    • 2024
  • 전통적 프로그래밍 언어인 C/C++는 시스템 프로그래밍 언어로 널리 사용되고 있으며, 이는 저수준 메모리 제어와 하드웨어 상호작용 등의 특성 때문이다. 하지만 C/C++가 가지고 있는 특성중 하나인 저수준 메모리 제어는 프로그래머가 직접 메모리를 관리해야한다. 다양한 메모리 버그들중에서 특히 Use-after-free버그는 오래전부터 현재까지 해결되지 않은 버그로써 존재하고 있으며, 이는 프로그래머가 수동으로 메모리를 관리함으로써 발생한다. 이 버그를 예방 및 감지하기 위한 연구가 현재까지도 활발하게 진행되고 있다. 이 버그를 차단 및 감지하는 연구들의 동향을 분석하여 앞으로의 관련 연구의 지속적인 필요성을 제시한다.

OSINT와 기업 내 사이버 위협 인텔리전스를 통한 효과적인 위험 대응 기법 (Effective Risk Management Technique through OSINT and Cyber Threat Intelligence within the Enterprise)

  • 문광석;허준범
    • 정보보호학회논문지
    • /
    • 제34권5호
    • /
    • pp.949-959
    • /
    • 2024
  • 최근 기업들이 클라우드와 인공지능을 활용하면서 기존의 경계선 보안 방식으로는 노출된 인터페이스를 보호하기가 점점 어려워지고 있다. 이에 따라 제로 트러스트 기반의 전방위적인 위험 관리가 필요해지고 있다. 대부분의 기업은 기본적인 위험 관리 방식으로 취약점 점검과 버그 바운티(보안 취약점 신고제)를 사용하고 있지만, 이러한 방식만으로는 제로데이 공격이나 오픈소스 취약점과 같은 예측하기 어려운 문제점에 효과적으로 대응하기 어렵다. 따라서 본 논문에서는 CTI(사이버 위협 인텔리전스)를 통해 위협을 탐지하기 위해 외부 OSINT(공개 소스 정보)와 국가 정부 기관의 CTI를 연동하고, 기업 자체의 CTI를 수집하여 위협 탐지 체계를 구축하는 기업 전반에 걸친 위험 대응 기법을 제안한다. 효과적인 위협 탐지를 위해 허니팟을 구성하여 기업 자체의 CTI를 수집하고 이를 외부 정부 기관의 CTI와 연동한 위협 탐지 및 차단 방식과 비교한 결과, 제안 기법이 탐지 정확도 측면에서 65.8% 더 높은 성능 향상을 보였으며, 해당 방식을 통해 기관의 공격자가 감소한 효과를 검증하였다.