Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Wilfried Pichler

dblp:351/9145 · DBLP profile ↗
← Back
1ranked-venue papers
0as first author
1since 2021 · last 2023
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 1 · 1 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
1 paper
Program analysis · 75% Concurrent programming · 25%

Topics — the 4 heaviest of 4, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program analysis › static analysis
pointer analysis
0.712023
SmallRace: Static Race Detection for Dynamic Languages - A Case on Smalltalk · ICSE 2023
Concurrent programming › concurrency bugs
race conditions
0.712023
SmallRace: Static Race Detection for Dynamic Languages - A Case on Smalltalk · ICSE 2023
Program analysis
static analysis
0.712023
SmallRace: Static Race Detection for Dynamic Languages - A Case on Smalltalk · ICSE 2023
Program analysis › concurrent program analysis
static race detection
0.712023
SmallRace: Static Race Detection for Dynamic Languages - A Case on Smalltalk · ICSE 2023
YearPublicationVenuePosition
2023 SmallRace: Static Race Detection for Dynamic Languages - A Case on Smalltalk
abstract
Smalltalk, one of the first object-oriented programming languages, has had a tremendous influence on the evolution of computer technology. Due to the simplicity and productivity provided by the language, Smalltalk is still in active use today by many companies with large legacy codebases and with new code written every day. A crucial problem in Smalltalk programming is the race condition. Like in any other parallel language, debugging race conditions is inherently challenging, but in Smalltalk, it is even more challenging due to its dynamic nature. Being a purely dynamically-typed language, Smalltalk allows assigning any object to any variable without type restrictions, and allows forking new threads to execute arbitrary anonymous code blocks passed as objects. In Smalltalk, race conditions can be introduced easily, but are difficult to prevent at runtime. We present SmallRace, a novel static race detection framework designed for multithreaded dynamic languages, with a focus on Smalltalk. A key component of SmallRace is SmallIR, a subset of LLVM IR, in which all variables are declared with the same type-a generic pointer 18✶. This allows SmallRace to design an effective interprocedural thread-sensitive pointer analysis to infer the concrete types of dynamic variables. SmallRace automatically translates Smalltalk source code into SmallIR, supports most of the modern Smalltalk syntax in Visual Works, and generates actionable race reports with detailed debugging information. Importantly, SmallRace has been used to analyze a production codebase in a large company with over a million lines of code, and it has found tens of complex race conditions in the production code.
Siwei Cui, Rainer Unterguggenberger, Wilfried Pichler, Sean Livingstone, Jeff Huang 0001
ICSE4