Rohan Padhye's Avatar

Rohan Padhye

@rohan.padhye.org

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

495 Followers  |  98 Following  |  24 Posts  |  Joined: 20.11.2024  |  2.5973

Latest posts by rohan.padhye.org on Bluesky

My current conjecture is that the examples of broken JSON syntax in the paper somehow accidentally caused something like second-order prompt injection in Google Scholar's indexing pipeline. But there's only one way to find out ^^^

14.07.2025 17:37 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Hilarious! It looks like Google Scholar is pulling citations for a different Kirschner et al. paper from 2006.

I wonder if one could use the technique proposed in "Debugging inputs" to identify what causes this anomaly. Gonna need Lukas to publish a *lot* of papers.

14.07.2025 17:33 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

🚨 Our amazing #FUZZING'25 keynotes are online!

"Constraining Fuzzing without Paying Too Much" by Miryung Kim
youtu.be/L90MBb6NLBE

"Are you sure you belong in academia?" by Will Wilson
youtu.be/qQGuQ_4V6WI

// @mboehme.bsky.social, LΓ‘szlΓ³ Szekeres, @rohan.padhye.org, @ruijiemeng.bsky.social

29.06.2025 07:35 β€” πŸ‘ 11    πŸ” 6    πŸ’¬ 1    πŸ“Œ 0

The limit applies to references too? Preposterous!

17.06.2025 17:24 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Discovering a JDK Race Condition, and Debugging it in 30 Minutes with Fray Discovering a JDK Race Condition, and Debugging it in 30 Minutes with Fray I’ve been adding more integration tests for Fray recently. To ensure Fray can handle different scenarios, I wrote many creati...

Very cool: β€ͺ@aoli.al‬ uncovered a deadlock in OpenJDK that can be triggered with a tiny test case and Fray's deterministic concurrency testing & debugging support. Read his blog post here: aoli.al/blogs/jdk-bug/

If you write Java/Scala/Kotlin, try Fray yourself: github.com/cmu-pasta/fray

09.06.2025 14:35 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

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...

06.06.2025 19:02 β€” πŸ‘ 21    πŸ” 3    πŸ’¬ 2    πŸ“Œ 1

πŸ–ŠοΈ Register here: ntnu.eventsair.com/fse2025-isst...
(FUZZING is a co-located workshop)

28.05.2025 09:41 β€” πŸ‘ 5    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0
List of Accepted Papers at the FUZZING Workshop

List of Accepted Papers at the FUZZING Workshop

We also have an excellent program of research talks and *fuzzing nuggets*. Detailed schedule coming soon.

conf.researchr.org/home/issta-2...

27.05.2025 18:49 β€” πŸ‘ 3    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

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...

27.05.2025 18:49 β€” πŸ‘ 8    πŸ” 3    πŸ’¬ 1    πŸ“Œ 1

The JQF repo is now both popular enough (700+ stars) and contains enough buggy/vulnerable code as sample fuzz targets that we're getting occasionally spammed with crappy AI-generated patches.

I can't imagine what bigger OSS projects are dealing with right now.

27.05.2025 17:21 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Congratulations!

05.05.2025 14:46 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Delighted to receive an ACM SIGSOFT Distinguished Award for this work... It's about time!

Proud of the PASTA Lab students, including our visiting undergrads :-)

29.04.2025 19:51 β€” πŸ‘ 11    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
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"

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"

Love this argument: prior work does not use our novel idea.

31.03.2025 14:43 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Submission deadline for the Fuzzing workshop is tonight (AoE)! Send us those nuggets and research ideas.

Rohan

20.03.2025 19:09 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
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

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

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)

10.03.2025 13:37 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 0    πŸ“Œ 2

It's always been a "response" for me.

The only time it was a "rebuttal" was when I explicitly thanked Reviewers A, C, and D for their valuable feedback.

23.02.2025 13:36 β€” πŸ‘ 8    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I'm super excited about this new track at the #FUZZING'25 workshop. It's the academic version of thoughtful blog posts, but with a paper and talk for wider reach!

Submission deadline is in a month (March 20th)!

fuzzingworkshop.github.io

17.02.2025 19:00 β€” πŸ‘ 9    πŸ” 3    πŸ’¬ 1    πŸ“Œ 1
Post image

#FUZZING'25 CALL FOR PAPERS
──────
✨ New OC members:
* Ruijie Meng (@ruijiemeng.bsky.social; NUS)
* Rohan Padhye (@rohan.padhye.org; CMU).
✨ New paper type: Fuzzing Nuggets (short papers).

πŸ”— fuzzingworkshop.github.io
πŸ“… 20.March (Submission)
πŸ“… 17.April (Notification)
πŸ“… 28.June (Workshop)

17.02.2025 18:40 β€” πŸ‘ 19    πŸ” 11    πŸ’¬ 1    πŸ“Œ 0
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"

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"

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

07.02.2025 21:57 β€” πŸ‘ 20    πŸ” 4    πŸ’¬ 2    πŸ“Œ 0

Cite only the paper title for now, and submit a PDF without embedded fonts. They'll probably tell you to fix it and re-submit in 48 hours. Plenty of time to get an arxiv identifier :-)

19.12.2024 07:34 β€” πŸ‘ 10    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Takeaway: Don't just fuzz and wait for bugs to show up. Measure what your inputs look like based on user-defined predicates, and things start making a lot more sense.

13.12.2024 16:38 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
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.

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.

[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/...)

13.12.2024 16:38 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
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);
```

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); ```


[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...)

13.12.2024 16:38 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
```
@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));
    }
```

``` @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)); } ```

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...)

13.12.2024 16:38 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

And now that we’re all here, some work!🚨 Are Large Language Models Memorizing Bug Benchmarks? 🚨
There’s growing concern that LLMs for SE are prone to data leakage, but no one has quantified it... until now. πŸ•΅οΈβ€β™‚οΈ 1/

26.11.2024 16:06 β€” πŸ‘ 65    πŸ” 11    πŸ’¬ 2    πŸ“Œ 1

It was expected to happen once this year, because there are 366 days.

25.11.2024 18:01 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Now to find everyone else again.

20.11.2024 14:34 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Alright, I'm here!

20.11.2024 14:34 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 2    πŸ“Œ 0

@rohan.padhye.org is following 20 prominent accounts