Effective bug detection is pivotal in software development, with the identification and localization of defects being crucial for robust applications. In Python-based programs, the conventional bug detection process relies on a Python interpreter, causing workflow interruptions due to sequential error detection. As Python's adoption surges, the demand for efficient bug detection tools intensifies. This paper addresses the challenges associated with bug detection in Python, focusing on the prevalence of built-in type bugs that can lead to code crashes. Building on recent advancements, this survey explores bug detection methodologies across programming languages, emphasizing Python, JavaScript, and C. The diverse array of techniques covered includes static and dynamic analyses, machine learning-based bug detection, and predictive analysis engines(specifically deep-learning based). The survey provides insights into bug detection in Python programs, offering perspectives on addressing built-in type bugs and optimizing tools within the language's constraints.
Read full abstract