PLSE Reading Group
Autumn 2017 — Friday, 3:30pm — CSE 203
Subscribe to the calendar: iCal or Google Calendar.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 |
Scheduling
Feel free to swap papers and dates or add yourself as a co-presenter to a topic.
Benjamin Ylvisaker Visit
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:
Some Options for Winter
- Complexity verification using guided theorem enumeration
- Keep It SIMPLEX: Satisfying Multiple Goals with Guarantees in Control-Based Self-Adaptive Systems
- Towards Automatic Resource Bound Analysis for OCaml
- Repairing Decision-Making Programs Under Uncertainty
- A Comprehensive Study of Real-World Numerical Bug Characteristics
- The Linearity Monad
- Paxos Made EPR: Decidable Reasoning about Distributed Protocols
- Towards Complete Specification and Verification with SMT
- Taming the Length Field in Binary Data: Calc-Regular Languages
- Dead Store Elimination (Still) Considered Harmful
- Growing a Protocol
- Key Reinstallation Attacks: Forcing Nonce Reuse in WPA2
- Turing-Completeness Totally Free
- DéjàVu: a map of code duplicates on GitHub
- Optimizing Dynamically-Typed Object-Oriented Languages With Polymorphic Inline Caches
- Forward and Backward Bisimulations for Chemical Reaction Networks
- Lem: reusable engineering of real-world semantics
- Guarded recursive datatype constructors
- Towards Efficient, Typed LR Parsers
- Safety in Programming Languages
- Version Space Algebra and its Application to Programming by Demonstration (classic)
- Programming by demonstration using version space algebra (classic)
- Untangling Blockchain: A Data Processing View of Blockchain Systems
- WebRelate: Integrating Web Data with Spreadsheets using Examples