We’ll be reading and discussing exciting recent papers from the broader Software Engineering and Programming Language community, with a slight bias toward topics folks in UW PLSE are exploring.
Some paper links may point into the ACM Digital Library or the Springer online collection. Using a UW IP address, or the UW libraries off-campus access, should provide access.
Date | Who | What |
---|---|---|
Sep 29
|
Martin, Pavel |
Fairness Testing: Testing Software for Discrimination |
Oct 6
|
John, James W |
Context Transformations for Pointer Analysis |
Oct 13
|
Zach, Stuart, Bill |
Achieving High Coverage for Floating-Point Code via Unconstrained Programming |
Oct 20
|
Sarah, Chandra |
Learning Syntactic Program Transformations from Examples |
Oct 27
|
Jared, Max |
Cooperative Kernels: GPU Multitasking for Blocking Algorithms |
Nov 3
|
Benjamin Ylvisaker |
Visitor Talk: JavaScript vs Atomicity and a New Tweak on Cooperative Threads |
Nov 17
|
Remy, Chenglong |
Verifying Equivalence of Spark Programs |
Dec 1
|
Doug, Nate |
Verifying a high-performance crash-safe file system using a tree specification |
Dec 8
|
Calvin, Talia |
Reluplex: An Efficient SMT Solver for Verifying Deep Neural Networks |
Feel free to swap papers and dates or add yourself as a co-presenter to a topic.
On November 3, Benjamin Ylvisaker will be visiting reading group to give a talk on JavaScript vs Atomicity and a New Tweak on Cooperative Threads. Abstract:
The major JavaScript implementations (and many other application programming environments) use a single-threaded event loop model for multitasking. This approach makes it relatively easy to avoid some concurrency bugs (e.g. low-level data races are impossible). Unfortunately, some developers think that these systems are generally free from concurrency concerns. This is absolutely not the case! In particular the Scylla and Charybdis of single-threaded concurrency models are unresponsiveness and atomicity violations.
This talk addresses two related topics: First, we will discuss the results of an empirical study of popular web applications. We will see that most such applications heavily use programming patterns that are risky from an atomicity perspective.
Second we propose a new tweak on cooperative multithreading that gives programmers better control over the responsiveness/atomicity dilemma. The main idea behind this tweak is that control over whether a particular call is atomic or interruptible should be in the hands of the caller, not the callee.
Folks should check out these papers for background before the talk: