Demo Data from EDBT 2026 / reviewers in the wild / expert
Yiu Wai Chow
dblp:338/5448
· DBLP profile ↗
2ranked-venue papers
2as first author
2since 2021 · last 2024
0000-0003-4503-5699ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 2 · 2 first-author · 2 since 2021
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
2 papers |
Debugging and program repair · 42% Program analysis · 37% Programming languages and type systems · 21% | |
| Network and information security
1 paper |
Blockchain and cryptocurrency security · 100% |
Topics — the 6 heaviest of 6, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Debugging and program repair
automated program repair |
0.8 | 1 | 2024 | PyTy: Repairing Static Type Errors in Python · ICSE 2024 |
Programming languages and type systems › type systems
gradual typing |
0.8 | 1 | 2024 | PyTy: Repairing Static Type Errors in Python · ICSE 2024 |
Debugging and program repair › automated program repair
type error repair |
0.8 | 1 | 2024 | PyTy: Repairing Static Type Errors in Python · ICSE 2024 |
Program analysis
static analysis |
0.7 | 1 | 2023 | Beware of the Unexpected: Bimodal Taint Analysis · ISSTA 2023 |
Program analysis › static analysis
taint analysis |
0.7 | 1 | 2023 | Beware of the Unexpected: Bimodal Taint Analysis · ISSTA 2023 |
Blockchain and cryptocurrency security › smart contract security
vulnerability detection |
0.2 | 1 | 2023 | Beware of the Unexpected: Bimodal Taint Analysis · ISSTA 2023 |
Methods — techniques the papers use, named apart from their topics
natural language processing · 1.3machine learning · 1.3neural model · 0.8cross-lingual transfer learning · 0.8
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | PyTy: Repairing Static Type Errors in PythonabstractGradual typing enables developers to annotate types of their own choosing, offering a flexible middle ground between no type annotations and a fully statically typed language. As more and more code bases get type-annotated, static type checkers detect an increasingly large number of type errors. Unfortunately, fixing these errors requires manual effort, hampering the adoption of gradual typing in practice. This paper presents PyTy, an automated program repair approach targeted at statically detectable type errors in Python. The problem of repairing type errors deserves specific attention because it exposes particular repair patterns, offers a warning message with hints about where and how to apply a fix, and because gradual type checking serves as an automatic way to validate fixes. We addresses this problem through three contributions: (i) an empirical study that investigates how developers fix Python type errors, showing a diverse set of fixing strategies with some recurring patterns; (ii) an approach to automatically extract type error fixes, which enables us to create a dataset of 2,766 error-fix pairs from 176 GitHub repositories, named PyTyDefects; (iii) the first learning-based repair technique for fixing type errors in Python. Motivated by the relative data scarcity of the problem, the neural model at the core of PyTy is trained via cross-lingual transfer learning. Our evaluation shows that PyTy offers fixes for ten frequent categories of type errors, successfully addressing 85.4% of 281 real-world errors. This effectiveness outperforms state-of-the-art large language models asked to repair type errors (by 2.1x) and complements a previous technique aimed at type errors that manifest at runtime. Finally, 20 out of 30 pull requests with PyTy-suggested fixes have been merged by developers, showing the usefulness of PyTy in practice. Yiu Wai Chow, Luca Di Grazia, Michael Pradel |
ICSE | 1 |
| 2023 | Beware of the Unexpected: Bimodal Taint AnalysisabstractStatic analysis is a powerful tool for detecting security vulnerabilities and other programming problems. Global taint tracking, in particular, can spot vulnerabilities arising from complicated data flow across multiple functions. However, precisely identifying which flows are problematic is challenging, and sometimes depends on factors beyond the reach of pure program analysis, such as conventions and informal knowledge. For example, learning that a parameter name of an API function locale ends up in a file path is surprising and potentially problematic. In contrast, it would be completely unsurprising to find that a parameter command passed to an API function execaCommand is eventually interpreted as part of an operating-system command. This paper presents Fluffy, a bimodal taint analysis that combines static analysis, which reasons about data flow, with machine learning, which probabilistically determines which flows are potentially problematic. The key idea is to let machine learning models predict from natural language information involved in a taint flow, such as API names, whether the flow is expected or unexpected, and to inform developers only about the latter. We present a general framework and instantiate it with four learned models, which offer different trade-offs between the need to annotate training data and the accuracy of predictions. We implement Fluffy on top of the CodeQL analysis framework and apply it to 250K JavaScript projects. Evaluating on five common vulnerability types, we find that Fluffy achieves an F1 score of 0.85 or more on four of them across a variety of datasets. Yiu Wai Chow, Max Schäfer, Michael Pradel |
ISSTA | 1 |