FSE 2025
Mon 23 - Fri 27 June 2025 Trondheim, Norway
co-located with ISSTA 2025
Tue 24 Jun 2025 14:50 - 15:10 at Pirsenteret 150 - Program Analysis 2 Chair(s): Martin Kellogg

Python is a dynamic language with applications in many domains, and one of the most popular languages in recent years. To achieve higher code quality, developers have turned to “linters” that statically analyze the source code and warn about potential programming problems. However, the inherent limitations of static analysis and the dynamic nature of Python make it difficult or even impossible for static analysis to detect some problems. This paper presents DyLin, the first dynamic linter for Python. Similar to a traditional linter, the approach has an extensible set of checkers, which, unlike in traditional linters, search for specific programming anti-patterns by analyzing the program as it executes. A key contribution of this paper is a set of 15 Python-specific anti-patterns that are hard to find statically but amenable to dynamic analysis, along with corresponding checkers to detect them. Our evaluation applies DyLin to 37 popular open-source Python projects on GitHub and to a dataset of code submitted to Kaggle machine learning competitions, totaling over 683k lines of Python code. The approach reports a total of 68 problems, 59 of which are previously unknown true positives, i.e., a precision of 86.8%. The detected problems include bugs that cause incorrect values, such as inf, incorrect behavior, e.g., missing out on relevant events, unnecessary computations that slow down the program, and unintended data leakage from test data to the training phase of machine learning pipelines. These issues remained unnoticed in public repositories for more than 3.5 years, on average, despite the fact the corresponding code has been exercised by the developer-written tests. A comparison with popular static linters and a type checker shows that DyLin complements these tools by detecting problems that are missed statically. Based on our reporting of 42 issues to the developers, 23 issues have so far been fixed.

Tue 24 Jun

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

14:00 - 15:20
Program Analysis 2Research Papers / Ideas, Visions and Reflections / Demonstrations at Pirsenteret 150
Chair(s): Martin Kellogg New Jersey Institute of Technology
14:00
10m
Talk
IceBear: A Fine-Grained Incremental Scheduler for C/C++ Static Analyzers
Demonstrations
Yu Xiao Institute of Software, Chinese Academy of Sciences, Xutong Ma Inria Paris, zhilin li , Jun Yan Institute of Software, Chinese Academy of Sciences
14:10
20m
Talk
Blended Analysis for Predictive Execution
Research Papers
Yi Li University of Texas at Dallas, Hridya Dhulipala University of Texas at Dallas, Aashish Yadavally University of Texas at Dallas, Xiaokai Rong University of Texas at Dallas, Shaohua Wang Central University of Finance and Economics, Tien N. Nguyen University of Texas at Dallas
DOI
14:30
20m
Talk
Revisiting Optimization-Resilience Claims in Binary Diffing Tools: Insights from LLVM Peephole Optimization Analysis
Research Papers
Xiaolei Ren Macau University of Science and Technology, Mengfei Ren University of Alabama in Huntsville, Jeff Yu Lei University of Texas at Arlington, Jiang Ming Tulane University, USA
DOI
14:50
20m
Talk
DyLin: A Dynamic Linter for Python
Research Papers
Aryaz Eghbali University of Stuttgart, Felix Burk University of Stuttgart, Michael Pradel University of Stuttgart
DOI Pre-print
15:10
10m
Talk
Do you have 5 min? Improving Call Graph Analysis with Runtime Information
Ideas, Visions and Reflections
Jordan Samhi University of Luxembourg, Luxembourg, Marc Miltenberger Fraunhofer SIT; ATHENE, Marco Alecci University of Luxembourg, Steven Arzt Fraunhofer SIT; ATHENE, Tegawendé F. Bissyandé University of Luxembourg, Jacques Klein University of Luxembourg

Information for Participants
Tue 24 Jun 2025 14:00 - 15:20 at Pirsenteret 150 - Program Analysis 2 Chair(s): Martin Kellogg
Info for room Pirsenteret 150:

This room is located outside Clarion Hotel

This room is located in the Pirsenteret (The Pier Center) convention center. It is just outside the hotel, on the back, towards the fjord.

You should be able to go through the emergency exit at Clarion, just on the side of the Cosmos 3 wing, which will be bring you close to Pirsenteret.

The entrance to the center is from here:
https://maps.app.goo.gl/dU3qH6kAimXGBNHe7
Once inside, go all straight and you will find signage to reach the room. The room is known as room 150 inside the center.

:
:
:
: