Write a Blog >>
ICPC 2020
Mon 13 - Wed 15 July 2020
co-located with ICSE 2020
Wed 15 Jul 2020 00:00 - 00:12 at ICPC - Session 9: For Developers Chair(s): Anderson Oliveira

The dynamic typing discipline of Python allows developers to program at a high level of abstraction. However, type related bugs are commonly encountered in Python systems due to the lack of type declaration and static type checking. Especially, the misuse of dynamic typing discipline produces underlying bugs and increases maintenance efforts. In this paper, we introduce six types of dynamic typing related practices in Python programs, which are the common but potentially risky usage of dynamic typing discipline by developers. We also implement a tool named PYDYPE to detect them. Based on this tool, we conduct an empirical study on nine real-world Python systems (with the size of more than 460KLOC) to understand dynamic typing related practices. We investigate how widespread the dynamic typing related practices are, why they are introduced into the systems, whether their usage correlates with increased likelihood of bug occurring, and how developers fix dynamic typing related bugs. The results show that: (1) dynamic typing related practices exist inconsistently in different systems and Inconsistent Variable Types is most prevalent; (2) they are introduced into systems mainly during early development phase to promote development efficiency; (3) they have a significant positive correlation with bug occurring; (4) developers tend to add type checks or exception handling to fix dynamic typing related bugs. These results benefit future research in coding convention, language design, bug detection and fixing.

Wed 15 Jul
Times are displayed in time zone: (UTC) Coordinated Universal Time change

00:00 - 01:00
Session 9: For DevelopersResearch / Tool Demonstration / ERA at ICPC
Chair(s): Anderson OliveiraPUC-Rio
00:00
12m
Paper
An Empirical Study on Dynamic Typing Related Practices in Python Systems
Research
Zhifei ChenNanjing University, Yanhui LiDepartment of Computer Science and Technology, Nanjing University, Bihuan ChenFudan University, Wanwangying MaNanjing University, Lin ChenNanjing University, Baowen XuNanjing University
Media Attached
00:12
12m
Paper
Performing Tasks Can Improve Program Comprehension Mental Model of Novice
Research
Amal A. ShargabiQassim University, Syed Ahmad AljunidUniversiti Teknologi MARA, Muthukkaruppan AnnamalaiUniversiti Teknologi MARA, Abdullah Mohd ZinUniversiti Kebangsaan Malaysia
Media Attached
00:24
12m
Paper
SimplyHover: Improving Comprehension of else Statements
Tool Demonstration
Ahmad JbaraComputer and Cyber Sciences, Augusta University, Georgia, USA, Bar Ben Michael, Or Shacham, Omer Tavor
Media Attached
00:36
12m
Paper
Combining biometric data with focused document types classifies a success of program comprehension
ERA
Toyomi IshidaNara Institute of Science and Technology, Hidetake UwanoNational Institute of Technology, Nara College, Japan, Yoshiharu Ikutani Nara Institute of Science and Technology
Media Attached
00:48
12m
Paper
Program Comprehension in Virtual Reality
ERA
James DominicClemson University, Brock TubreClemson Universtiy, Jada Houser Clemson University, Charles RitterClemson University, Deborah KunkelClemson University, Paige RodegheroClemson University
Media Attached