Skip to main navigation Skip to search Skip to main content

Detecting error-handling bugs without error specification input

  • Zhouyang Jia
  • , Shanshan Li
  • , Tingting Yu
  • , Xiangke Liao
  • , Ji Wang
  • , Xiaodong Liu
  • , Yunhuai Liu

Research output: Chapter in Book/Report/Conference proceeding › Conference contribution › peer-review

18 Scopus citations

Abstract

Most software systems frequently encounter errors when interacting with their environments. When errors occur, error-handling code must execute flawlessly to facilitate system recovery. Implementing correct error handling is repetitive but non-trivial, and developers often inadvertently introduce bugs into error-handling code. Existing tools require correct error specifications to detect error-handling bugs. Manually generating error specifications is error-prone and tedious, while automatically mining error specifications is hard to achieve a satisfying accuracy. In this paper, we propose EH-Miner, a novel and practical tool that can automatically detect error-handling bugs without the need for error specifications. Given a function, EH-Miner mines its error-handling rules when the function is frequently checked by an equivalent condition, and handled by the same action. We applied EH-Miner to 117 applications across 15 software domains. EH-Miner mined error-handling rules with the precision of 91.1% and the recall of 46.9%. We reported 142 bugs to developers, and 106 bugs had been confirmed and fixed at the time of writing. We further applied EH-Miner to Linux kernel, and reported 68 bugs for kernel-4.17, of which 42 had been confirmed or fixed.

Original languageEnglish
Title of host publicationProceedings - 2019 34th IEEE/ACM International Conference on Automated Software Engineering, ASE 2019
Pages213-225
Number of pages13
ISBN (Electronic)9781728125084
DOIs
StatePublished - Nov 2019
Event34th IEEE/ACM International Conference on Automated Software Engineering, ASE 2019 - San Diego, United States
Duration: Nov 10 2019 → Nov 15 2019

Publication series

NameProceedings - 2019 34th IEEE/ACM International Conference on Automated Software Engineering, ASE 2019

Conference

Conference34th IEEE/ACM International Conference on Automated Software Engineering, ASE 2019
Country/TerritoryUnited States
CitySan Diego
Period11/10/19 → 11/15/19

Bibliographical note

Publisher Copyright:
© 2019 IEEE.

Funding

This work was supported in part by National Key R&D Program of China No. 2017YFB1001802; NSFC No. 61872373 and 61872375; NSF grant CCF-1652149 and CCF-1909085; High-End Generic Chips and Basic Software under grants No. 2017ZX01038104-002; China Scholarship Council.

FundersFunder number
National Science Foundation (NSF)CCF-1652149, CCF-1909085, 2017ZX01038104-002
National Natural Science Foundation of China (NSFC)61872375, 61872373
China Scholarship Council
National Key Research and Development Program of China2017YFB1001802

    Keywords

    • Error handling
    • Library function
    • Specification

    ASJC Scopus subject areas

    • Computer Networks and Communications
    • Software
    • Control and Optimization

    Fingerprint

    Dive into the research topics of 'Detecting error-handling bugs without error specification input'. Together they form a unique fingerprint.

    Cite this