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

Displayed time zone: Beijing, Chongqing, Hong Kong, Urumqi change

09:30 - 10:35
09:30
16m
Day opening
Openning
Doctoral Symposium

09:46
16m
Doctoral symposium paper
On the Correctness of GPU Programs
Doctoral Symposium
Chao Peng University of Edinburgh, UK
10:02
16m
Doctoral symposium paper
JNI Program Analysis with Automatically Extracted C Semantic Summary
Doctoral Symposium
Sungho Lee KAIST, South Korea
10:18
16m
Doctoral symposium paper
Identifying Error Code Misuses in Complex System
Doctoral Symposium
Wensheng Tang The Hong Kong University of Science and Technology