Sign in

Rohan Padhye

@rohan.padhye.org
527 followers 108 following 35 posts

Computer Science professor at CMU. Doing research on automated software testing and bug finding. rohan.padhye.org

PostsRepliesMedia
Rohan Padhye @rohan.padhye.org · 17/02/2026
My students wrote a blog post explaining the problem with some neat examples. pastalab.org/spaghetti-be...
020
Rohan Padhye @rohan.padhye.org · 17/02/2026
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...
141
Rohan Padhye @rohan.padhye.org · 15/11/2025
Excited to be on my way to ASE in Seoul! Aiming to learn some Hangul on the flight. @aseconf.bsky.social
Screenshot of a Korean writing app with introductory lessons for Hangul
261
Rohan Padhye @rohan.padhye.org · 28/08/2025
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...
Front page of a paper titled "Fray: An Efficient General-Purpose Concurrency Testing Platform for the JVM" by Ao Li et al. from Carnegie Mellon University.
3154
Rohan Padhye @rohan.padhye.org · 06/06/2025
Just Accepted to ACM TOSEM! The "Havoc Paradox" is about the relationship between byte-level fuzzer mutations and their effect on the inputs produced by generators for structured strings (e.g. XML/SQL). Can disruptive mutations be controlled? Should they be? Find out. 📄 dl.acm.org/doi/pdf/10.1...
2203
Rohan Padhye @rohan.padhye.org · 27/05/2025
We also have an excellent program of research talks and *fuzzing nuggets*. Detailed schedule coming soon. conf.researchr.org/home/issta-2...
List of Accepted Papers at the FUZZING Workshop
033
Rohan Padhye @rohan.padhye.org · 27/05/2025
We're excited to announce two keynote speakers for the #FUZZING'25 workshop (part of @issta_conf at Trondheim, Norway): [*] Will Wilson, CEO and Co-Founder of Antithesis [*] Miryung Kim, Professor and Vice Chair of Graduate Studies at UCLA conf.researchr.org/home/issta-2...
183
Rohan Padhye @rohan.padhye.org · 31/03/2025
Love this argument: prior work does not use our novel idea.
Text highlighted from a research paper that says "To the best of our knowledge, there is no existing search-based testing approach for productiongrade AV software, including [20], [21], [41]–[55] that: (i) uses our novel gene representation"
060
Rohan Padhye @rohan.padhye.org · 10/03/2025
Happy Daylight Savings Time to everyone in the US! A few more weeks for European Summer Time. If you notice some of your apps glitching, don't be alarmed. Even ChatGPT can't write correct date/time code!!! See more in our upcoming paper: rohan.padhye.org/files/dateti... (MSR'25 preprint)
Paper titled "It’s About Time: An Empirical Study of Date and
Time Bugs in Open-Source Python Software".  Authors List:

Shrey Tiwari
Carnegie Mellon University
Pittsburgh, PA, USA
shrey@cmu.edu
Peter Vandervelde∗
University of California, Santa Barbara
Santa Barbara, CA, USA
pvandervelde@ucsb.edu
Serena Chen∗
University of California, San Diego
San Diego, CA, USA
sec022@ucsd.edu
Ao Li
Carnegie Mellon University
Pittsburgh, PA, USA
aoli@cmu.edu
Alexander Joukov∗
Stony Brook University
Stony Brook, NY, USA
ajoukov@cs.stonybrook.edu
Rohan Padhye
Carnegie Mellon University
Pittsburgh, PA, USA
rohanpadhye@cmu.edu
050
Rohan Padhye @rohan.padhye.org · 07/02/2025
Back to basics: Concurrency testing in Java! Our new tool *Fray* correctly solves a 25+ year old problem for real-world software. See this feature from Elastic Labs about Fray's contributions to Lucene. 📰: www.elastic.co/search-labs/... 🔧: github.com/cmu-pasta/fray 📝: arxiv.org/pdf/2501.12618
Blog post titled "Concurrency bugs in Lucene: How to fix optimistic concurrency failures" By Benjamin Trent and Ao Li (February 7, 2025)

Text reads: "Thanks to Fray, a deterministic concurrency testing framework from CMU’s PASTA Lab, we tracked down a tricky Lucene bug and squashed it"
2204
Rohan Padhye @rohan.padhye.org · 13/12/2024
[3/3] Another similarly cool idea is "events" in Tyche (by @harrisongoldste.in et al.), which is a PBT visualization extension for VSCode. We've actually integrated Tyche into JQF now so it works with Java fuzzing! Check it out. (Ref: github.com/tyche-pbt/ty..., github.com/rohanpadhye/...)
A screenshot with two columns. On the left, a Python property-based test annotated with `event(<predicate>)` statements. On the right, a visualization of how frequently event predicates have been excercised by random tests, plotted as histograms and tree-maps.
120
Rohan Padhye @rohan.padhye.org · 13/12/2024
[2/3] I like the "Sometimes Assertions" abstraction recommended by Antithesis, which generalizes code coverage to user-defined predicates, possibly interleaved with application logic. Maybe we should support these in JQF too. (Ref: antithesis.com/docs/best_pr...)
You may be less familiar with the second type of assertion, which at Antithesis we call Sometimes Assertions. Just as an always assertion asserts that something is always true, a Sometimes Assertion asserts that something is sometimes true! Here are some examples:
```
assertSometimes x < 1;
assertSometimes y == 1;
assertSometimes(condition);
```
120
Rohan Padhye @rohan.padhye.org · 13/12/2024
How do you know whether random testing is working as expected? [1/3] Long ago in JQF, we used `assumeTrue` to bias fuzzing towards *valid* inputs. This is powerful, but the abstraction is quite coarse if you have many properties. (Refs: github.com/rohanpadhye/..., rohan.padhye.org/files/zest-i...)
```
@Fuzz
    public void testMap2Trie(Map<String, Integer> map, String key) {
        assumeTrue(map.containsKey(key));
        // Create new trie with input `map`
        Trie trie = new PatriciaTrie(map);
        // The key should exist in the trie as well
        assertTrue(trie.containsKey(key));
    }
```
160