Write a Blog >>
ICSE 2023
Sun 14 - Sat 20 May 2023 Melbourne, Australia
Thu 18 May 2023 11:00 - 11:15 at Level G - Plenary Room 1 - Defect detection and prediction Chair(s): Wei Le

Exception handling is a mechanism in modern programming languages. Studies have shown that the exception handling code is error-prone. However, there are still very few researches on detecting exception handling bugs, especially for C++ programs.

To tackle the issue, we try to precisely represent the exception control flow in C++ programs and propose an analysis method that makes use of the control flow to detect such bugs. More specifically, we first extend control flow graph by introducing the concepts of five different kinds of basic blocks, and then modify the classic symbolic execution framework by extending the program state to a quadruple and properly processing try, throw and catch statements. Based on the above techniques, we develop a static analysis tool on the top of Clang Static Analyzer to detect exception handling bugs.

We run our tool on projects with high stars from GitHub and find 36 exception handling bugs in 8 projects, with a precision of 84%. We compare our tool with four state-of-the-art static analysis tools (Cppcheck, Clang Static Analyzer, Facebook Infer and IKOS) on projects from GitHub and handmade benchmarks. On the GitHub projects, other tools are not able to detect any exception handling bugs found by our tool. On the handmade benchmarks, our tool has a significant higher recall.

Thu 18 May

Displayed time zone: Hobart change

11:00 - 12:30
Defect detection and predictionTechnical Track / SEIP - Software Engineering in Practice at Level G - Plenary Room 1
Chair(s): Wei Le Iowa State University
11:00
15m
Talk
Detecting Exception Handling Bugs in C++ Programs
Technical Track
Hao Zhang Institute of Software, Chinese Academy of Sciences, Ji Luo Institute of Software, Chinese Academy of Sciences, Mengze Hu Institute of Software, Chinese Academy of Sciences, Jun Yan Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Jian Zhang State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing, China, Zongyan Qiu Peking University
11:15
15m
Talk
Learning to Boost Disjunctive Static Bug-Finders
Technical Track
Yoonseok Ko Meta, Hakjoo Oh Korea University
11:30
15m
Talk
Predicting Bugs by Monitoring Developers During Task Execution
Technical Track
Gennaro Laudato University of Molise, Simone Scalabrino University of Molise, Nicole Novielli University of Bari, Filippo Lanubile University of Bari, Rocco Oliveto University of Molise
11:45
15m
Talk
Detecting Isolation Bugs via Transaction Oracle Construction
Technical Track
Wensheng Dou Institute of Software Chinese Academy of Sciences, Ziyu Cui Institute of Software Chinese Academy of Sciences, Qianwang Dai Institute of Software Chinese Academy of Sciences, Jiansen Song , Dong Wang Institute of software, Chinese academy of sciences, Yu Gao Institute of Software, Chinese Academy of Sciences, China, Wei Wang , Jun Wei Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences; University of Chinese Academy of Sciences Chongqing School, Lei Chen Inspur Software Group Co., Ltd., Hanmo Wang Inspur Software Group Co., Ltd., Hua Zhong Institute of Software Chinese Academy of Sciences, Tao Huang Institute of Software Chinese Academy of Sciences
Pre-print
12:00
15m
Talk
SmallRace: Static Race Detection for Dynamic Languages - A Case on Smalltalk
Technical Track
Siwei Cui Texas A & M University, Yifei Gao Texas A&M University, Rainer Unterguggenberger Lam Research, Wilfried Pichler Lam Research, Sean Livingstone Texas A&M University, Jeff Huang Texas A&M University
Pre-print
12:15
15m
Talk
CONAN: Diagnosing Batch Failures for Cloud Systems
SEIP - Software Engineering in Practice
Liqun Li Microsoft Research, Xu Zhang Microsoft Research, Shilin He Microsoft Research, Yu Kang Microsoft Research, Hongyu Zhang The University of Newcastle, Minghua Ma Microsoft Research, Yingnong Dang Microsoft Azure, Zhangwei Xu Microsoft Azure, Saravan Rajmohan Microsoft 365, Qingwei Lin Microsoft Research, Dongmei Zhang Microsoft Research
File Attached