ISSTA 2019
Mon 15 - Fri 19 July 2019 Beijing, China
Tue 16 Jul 2019 10:18 - 10:35 at Meeting Room 2 - Session 1

Many complex software systems use error codes to differentiate error states. Therefore, it is crucial to ensure those error codes are used correctly. Misuses of error codes can lead to hardly sensible but fatal system failures. These errors are especially difficult to debug, since the failure points are usually far away from the root causes. Existing static analysis approaches to detecting error handling bugs mainly focus on how an error code is propagated or used in a program. However, they do not consider whether an error code is correctly chosen for propagation or usage within different program contexts, and thus miss to detect many error code misuse bugs. In this work, we conduct an empirical study on error code misuses in a mature commercial system. We collect error code issues from the commit history and conclude three main causes of them. To further resolve this problem, we propose a static approach that can automatically detect error code misuses. Our approach takes error code definition and error domain assignment as the input, and uses a novel static analysis method to detect the occurrence of the three categories of error code misuses in the source code.

Tue 16 Jul (GMT+08:00) Beijing, Chongqing, Hong Kong, Urumqi change

09:30 - 10:35: Doctoral Symposium - Session 1 at Meeting Room 2
issta-2019-Doctoral-Symposium-09:30 - 09:46
Day opening
issta-2019-Doctoral-Symposium-09:46 - 10:02
Doctoral symposium paper
Chao PengUniversity of Edinburgh, UK
issta-2019-Doctoral-Symposium-10:02 - 10:18
Doctoral symposium paper
Sungho LeeKAIST, South Korea
issta-2019-Doctoral-Symposium-10:18 - 10:35
Doctoral symposium paper
Tang WenshengThe Hong Kong University of Science and Technology