How to build static checking systems using orders of magnitude less code

How to build static checking systems using orders of magnitude less code Brown et al., ASPLOS '16 You start with something simple. Then over time things get more and more complex and before you know it, it's hard to know what's going on. Today's paper is a delightful reminder of the power of stripping back … Continue reading How to build static checking systems using orders of magnitude less code

Why do record/replay tests of web applications break?

Why do Record/Replay Tests of Web Applications Break? - Hammoudi et al. ICST '16 Your web application regression tests created using record/replay tools are fragile and keep breaking. Hammoudi et al. set out to find out why. If we knew that, perhaps we could design mechanisms to automatically repair broken tests, or to build more … Continue reading Why do record/replay tests of web applications break?

Not-quite-so-broken TLS: lessons in re-engineering a security protocol specification and implementation

Not-quite-so-broken TLS: lessons in re-engineering a security protocol specification and implementation - Kaloper-Meršinjak et al. 2015 Update: fixed broken paper link above. On the surface this is a paper about a TLS implementation, but the really interesting story to me is the attempt to 'do it right,' and the techniques and considerations involved in that … Continue reading Not-quite-so-broken TLS: lessons in re-engineering a security protocol specification and implementation

Experience with Rules-Based Programming for Distributed Concurrent Fault-Tolerant Code

Experience with Rules-Based Programming for Distributed, Concurrent, Fault-Tolerant Code - Stutsman et al. 2015 As we saw in yesterday's paper, the authors of RAMCloud settled on a very effective design pattern for writing distributed, concurrent, fault-tolerant (DCFT) modules within their system. They call this pattern 'rules-based programming' - a collection of (condition,action) pairs that can … Continue reading Experience with Rules-Based Programming for Distributed Concurrent Fault-Tolerant Code

Reactive Vega: A Streaming Dataflow Architecture for Declarative Interactive Visualization

Reactive Vega: A Streaming Dataflow Architecture for Declarative Interactive Visualization - Satyanarayan et al. 2015 Today's paper choice combines Event-driven FRP (E-FRP) with dataflow and stream management techniques from the database community to implement declarative interactive visualisations on top of the existing Vega declarative visualisation grammar and supporting runtime. As a good example of what's … Continue reading Reactive Vega: A Streaming Dataflow Architecture for Declarative Interactive Visualization

We Have a DREAM: Distributed Reactive Programming with Consistency Guarantees

We Have a DREAM: Distributed Reactive Programming with Consistency Guarantees - Magara & Salvaneschi 2014 Earlier this week we saw in "A Survey on Reactive Programming" that (at least as of 2012) distributing reactive programs remained an active research challenge. Today's paper choice takes on that challenge and examines some consistency models for distributed reactive … Continue reading We Have a DREAM: Distributed Reactive Programming with Consistency Guarantees

Functional Reactive Animation

Functional Reactive Animation - Elliott & Hudak 1997 This is the paper widely acknowledged to have given birth to (Functional) Reactive Programming or FRP. The challenge that Elliott and Hudak faced was to provide an elegant and expressive way to specify animations without resorting to tedious frame-by-frame constructions. A key insight is that animations are … Continue reading Functional Reactive Animation