ConflictJS: finding and understanding conflicts between JavaScript libraries

ConflictJS: finding and understanding conflicts between JavaScript libraries Patra et al., ICSE'18 The JavaScript ecosystem is fertile ground for dependency hell. With so many libraries being made available and the potential for global namespace clashes, it’s easy for libraries to break each other. Sometimes in an obvious to spot way (that’s a good day!), and ... Continue Reading

Fail-slow at scale: evidence of hardware performance faults in large production systems

Fail-slow at scale: evidence of hardware performance faults in large production systems Gunawi et al., FAST’18 The first thing that strikes you about this paper is the long list of authors from multiple different establishments. That’s because it’s actually a study of 101 different fail-slow hardware incidents collected across large-scale cluster deployments in 12 different ... Continue Reading

Type test scripts for TypeScript testing

Type test scripts for TypeScript testing Kristensen et al., OOPLSA’17 Today’s edition of The Morning Paper comes with a free tongue-twister; ‘type test scripts for TypeScript testing!’ One of the things that people really like about TypeScript is the DefinitelyTyped repository of type declarations for common (otherwise untyped) JavaScript libraries. There are over 3000 such ... Continue Reading

DeepXplore: automated whitebox testing of deep learning systems

DeepXplore: automated whitebox testing of deep learning systems Pei et al., SOSP’17 The state space of deep learning systems is vast. As we’ve seen with adversarial examples, that creates opportunity to deliberately craft inputs that fool a trained network. Forget adversarial examples for a moment though, what about the opportunity for good old-fashioned bugs to ... Continue Reading

Node.fz: fuzzing the server-side event-driven architecture

Node.fz: Fuzzing the server-side event-driven architecture Davis et al., EuroSys'17 This paper provides a fascinating look at common causes of concurrency bugs in server-side event driven architecture (EDA) based applications. By far the most popular framework supporting this style is Node.js of course. The Node.js package ecosystem, npm, is the largest ever, with over 400,000 ... Continue Reading