Detecting Error-Handling Bugs without Error Specification Input
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 mature applications across 15 software domains. EH-Miner mined error-handling rules with the precision rate of 91.1% and the recall rate 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.
Tue 12 Nov
13:40 - 15:20: Papers - Testing and Verification at Cortez 1 Chair(s): Weihang WangUniversity at Buffalo, SUNY | ||||||||||||||||||||||||||||||||||||||||||
13:40 - 14:00 Talk | Systematically Covering Input Structure Nikolas HavrikovCISPA Helmholtz Center for Information Security, Andreas ZellerCISPA Helmholtz Center for Information Security Pre-print | |||||||||||||||||||||||||||||||||||||||||
14:00 - 14:20 Talk | SEGATE: Unveiling Semantic Inconsistencies between Code and Specification of String Inputs Pre-print | |||||||||||||||||||||||||||||||||||||||||
14:20 - 14:40 Talk | Detecting Error-Handling Bugs without Error Specification Input Zhouyang JiaNational University of Defense Technology, Shanshan LiNational University of Defense Technology, Tingting YuUniversity of Kentucky, Xiangke LiaoNational University of Defense Technology, China, Ji WangNational University of Defense Technology, Xiaodong LiuNational University of Defense Technology, Yunhuai LiuPeking University | |||||||||||||||||||||||||||||||||||||||||
14:40 - 15:00 Talk | Test Automation and its Limitations Ahyoung SungSamsung Electronics, Yangsu KimSamsung Electronics, Sangjun KimSamsung Electronics, Jongin KimSamsung Electronics, Neo JangSamsung Electronics | |||||||||||||||||||||||||||||||||||||||||
15:00 - 15:10 Talk | Grading-Based Test Suite Augmentation Jonathan Osei-OwusuUniversity of Illinois at Urbana-Champaign, Angello AstorgaUniversity of Illinois at Urbana-Champaign, Liia ButlerUniversity of Illinois at Urbana-Champaign, Tao XiePeking University, Geoffrey ChallenUniversity of Illinois at Urbana-Champaign | |||||||||||||||||||||||||||||||||||||||||
15:10 - 15:20 Demonstration | MutAPK: Source-Codeless Mutant Generation for Android Apps Camilo Escobar-VelásquezUniversidad de los Andes, Michael Osorio-RiañoUniversidad de los Andes, Mario Linares-VásquezSystems and Computing Engineering Department , Universidad de los Andes , Bogotá, Colombia |