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

검색결과 11건 처리시간 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 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버그는 오래전부터 현재까지 해결되지 않은 버그로써 존재하고 있으며, 이는 프로그래머가 수동으로 메모리를 관리함으로써 발생한다. 이 버그를 예방 및 감지하기 위한 연구가 현재까지도 활발하게 진행되고 있다. 이 버그를 차단 및 감지하는 연구들의 동향을 분석하여 앞으로의 관련 연구의 지속적인 필요성을 제시한다.

EPfuzzer: Improving Hybrid Fuzzing with Hardest-to-reach Branch Prioritization

  • Wang, Yunchao;Wu, Zehui;Wei, Qiang;Wang, Qingxian
    • KSII Transactions on Internet and Information Systems (TIIS)
    • /
    • 제14권9호
    • /
    • pp.3885-3906
    • /
    • 2020
  • Hybrid fuzzing which combines fuzzing and concolic execution, has proved its ability to achieve higher code coverage and therefore find more bugs. However, current hybrid fuzzers usually suffer from inefficiency and poor scalability when applied to complex, real-world program testing. We observed that the performance bottleneck is the inefficient cooperation between the fuzzer and concolic executor and the slow symbolic emulation. In this paper, we propose a novel solution named EPfuzzer to improve hybrid fuzzing. EPfuzzer implements two key ideas: 1) only the hardest-to-reach branch will be prioritized for concolic execution to avoid generating uninteresting inputs; and 2) only input bytes relevant to the target branch to be flipped will be symbolized to reduce the overhead of the symbolic emulation. With these optimizations, EPfuzzer can be efficiently targeted to the hardest-to-reach branch. We evaluated EPfuzzer with three sets of programs: five real-world applications and two popular benchmarks (LAVA-M and the Google Fuzzer Test Suite). The evaluation results showed that EPfuzzer was much more efficient and scalable than the state-of-the-art concolic execution engine (QSYM). EPfuzzer was able to find more bugs and achieve better code coverage. In addition, we discovered seven previously unknown security bugs in five real-world programs and reported them to the vendors.

Buffer Overflow Attack and Defense Techniques

  • Alzahrani, Sabah M.
    • International Journal of Computer Science & Network Security
    • /
    • 제21권12호
    • /
    • pp.207-212
    • /
    • 2021
  • A buffer overflow attack is carried out to subvert privileged program functions to gain control of the program and thus control the host. Buffer overflow attacks should be prevented by risk managers by eradicating and detecting them before the software is utilized. While calculating the size, correct variables should be chosen by risk managers in situations where fixed-length buffers are being used to avoid placing excess data that leads to the creation of an overflow. Metamorphism can also be used as it is capable of protecting data by attaining a reasonable resistance level [1]. In addition, risk management teams should ensure they access the latest updates for their application server products that support the internet infrastructure and the recent bug reports [2]. Scanners that can detect buffer overflows' flaws in their custom web applications and server products should be used by risk management teams to scan their websites. This paper presents an experiment of buffer overflow vulnerability and attack. The aims to study of a buffer overflow mechanism, types, and countermeasures. In addition, to comprehend the current detection plus prevention approaches that can be executed to prevent future attacks or mitigate the impacts of similar attacks.