In this experience paper, we design, implement, and evaluate a new static type-error detection tool for Python. To build a practical tool, we first collected and analyzed 68 real-world type errors gathered from 20 open-source projects. This empirical investigation revealed four key static-analysis features that are crucial for the effective detection of Python type errors in practice. Utilizing these insights, we present a tool called Pyinder, which can successfully detect 34 out of the 68 bugs, compared to existing type analysis tools that collectively detect only 16 bugs. We also discuss the remaining 34 bugs that Pyinder failed to detect, offering insights into future directions for Python type analysis tools. Lastly, we show that Pyinder can uncover previously unknown bugs in recent Python projects.
Thu 31 OctDisplayed time zone: Pacific Time (US & Canada) change
13:30 - 15:00 | Bug detection and predictionResearch Papers / Journal-first Papers at Compagno Chair(s): Tim Menzies North Carolina State University | ||
13:30 15mTalk | Towards Effective Static Type-Error Detection for Python Research Papers | ||
13:45 15mTalk | Detecting Element Accessing Bugs in C++ Sequence Containers Research Papers | ||
14:00 15mTalk | Concretely Mapped Symbolic Memory Locations for Memory Error Detection Journal-first Papers Haoxin Tu Singapore Management University, Singapore, Lingxiao Jiang Singapore Management University, Jiaqi Hong Independent Researcher, Xuhua Ding Singapore Management University, He Jiang Dalian University of Technology | ||
14:15 15mTalk | NeuroJIT: Improving Just-In-Time Defect Prediction Using Neurophysiological and Empirical Perceptions of Modern Developers Research Papers |