Ever used AI to fix tricky race conditions and flaky tests? Not pretty, is it? Check out "Spaghetti Bench 🍝: A SWE-Agent Benchmark for Concurrency Bug Tasks" Turns out it's still a HARD problem, but it can be made tractable with deterministic replay. pastalab.org/spaghetti-be...
Ao Li
@aoli.al
PhD Student@CMU If you want deterministic concurrency testing, try Fray (https://github.com/cmu-pasta/fray).
Stop building systems for agents, build systems for human. We need infrastructures to help us holding accountability of agent's code. blog.xiangpeng.systems/posts/stop-b...
Stop building systems for agents – Xiangpeng’s blog
Build agent systems for human.
blog.xiangpeng.systems
If anyone wants to know why Xiangpeng Hao is a great mentor, they can read this response: github.com/XiangpengHao...
Really fun experience! Thanks @cachemisses.bsky.social for being such a great host. Let's bring more systems research to software developers!
🚨 "Fray: An Efficient General-Purpose Concurrency JVM Testing Platform" with Rohan Padhye (@rohan.padhye.org) & Ao Li (@aoli.al) is available now! 🎙️ Guest hosted by the brilliant Bogdan Stoica (@cachemisses.bsky.social) 🎧 Listen on YouTube ➡️ youtu.be/SDaTOOEDuto?...
Excited to announce that the Fray paper has been accepted to OOPSLA'25! Work led by @aoli.al with a full pastalab.org collaboration. 📄: rohan.padhye.org/files/fray-o... 💻: github.com/cmu-pasta/fray 🎥: www.youtube.com/watch?v=AX6P...
Join my PhD prelim talk next Monday: Data-Aware Caching for Cloud Analytics 🕐 May 19, 1PM CDT 📍 CS2310 or Zoom: uwmadison.zoom.us/j/3081128886
I've now written enough Rust to know that (a) Rust is a great language, (b) Async in rust is a flaming dumpster and (c) that fire has spread so far that it makes the whole language incredibly frustrating to use on a day-to-day basis...
New blog post: "Build your own S3-Select in 400 lines of Rust" Check it out 😉: blog.xiangpeng.systems/posts/build-...
Build your own S3-Select in 400 lines of Rust – Xiangpeng’s blog
DataFusion is ALL YOU NEED
blog.xiangpeng.systems
We are excited to share Fray Debugger (aoli.al/blogs/deadlo...), an IntelliJ plugin that allows you to control concurrent execution deterministically! We have translated the Deadlock Empire (deadlockempire.github.io) into Java to demonstrate how to use Fray Debugger.
Evil Scheduler: Mastering Concurrency Through Interactive Debugging – Ao Li
TLDR Watch the video below to see how Fray debugger works! I enjoy the concept of Deadlock Empire, an interactive game that teaches the semantics of locks and other concurrency primitives. The core id...
aoli.al
Wrote a blog post reflecting my thoughts on DeepSeek, NSF funding and system research communities in general. Apologies for the bold claims -- hope they can invite some discussions. blog.xiangpeng.systems/posts/system...
Where are we now, system researchers? – Xiangpeng’s blog
blog.xiangpeng.systems
@xiangpeng.systems shared a great post about system researchers. I wrote a comment on it and would like to share some thoughts here and offer complementary ideas. In short: build paper with open source. xuanwo.io/links/2025/0...
It's wonderful to see practical & important programming work. Debugging concurrent programs is incredibly difficult, here is a bug found in Apache Lucene by the CMU Pasta Lab using their new Fray testing framework www.elastic.co/search-labs/...
Concurrency bugs in Lucene: How to fix optimistic concurrency failures - Elasticsearch Labs
Thanks to Fray, a deterministic concurrency testing framework from CMU’s PASTA Lab, we tracked down a tricky Lucene bug and squashed it
elastic.co