[HN Gopher] Deterministic simulation testing for async Rust
       ___________________________________________________________________
        
       Deterministic simulation testing for async Rust
        
       Author : shikhar
       Score  : 83 points
       Date   : 2025-04-04 13:17 UTC (3 days ago)
        
 (HTM) web link (s2.dev)
 (TXT) w3m dump (s2.dev)
        
       | TeamDman wrote:
       | Neat! Must be very satisfying for this to be working now. I
       | wonder if it's feasible to get it working on a multi threaded
       | runtime
        
       | mesto1 wrote:
       | I know it was mentioned at the end, I was curious what are some
       | of the notable issues that were find using the DST approach, and
       | how did it benefit the development of the system? I would also be
       | curious if a LLM system would be able to help analyze the TRACE
       | logs ?
        
         | sensodine wrote:
         | (I work at S2.)
         | 
         | > what are some of the notable issues that were find using the
         | DST approach
         | 
         | We've discovered a few distributed deadlocks. And in general
         | it's been incredibly helpful in exercising any parts of the
         | system that involve caches or eventual consistency, as these
         | can be really hard to reason about otherwise.
         | 
         | > if a LLM system would be able to help analyze the TRACE logs
         | 
         | Neat idea! For us, the logs are typically being dug into only
         | if there is a failure condition for the test as a whole. Often
         | times we'll inject additional logging or state monitoring to
         | better understand what led to the failure (which is easy enough
         | to do given the reproducibility of the failure in the sim).
         | Trace logs are also being analyzed in the context of the "meta-
         | test", but that's just looking for identical outputs. (More
         | about that here: https://github.com/tokio-
         | rs/turmoil/issues/19#issuecomment-2... )
        
       | tga_d wrote:
       | What's the advantage of integrating this at a library level
       | instead of just compiling it and running in Shadow?
       | https://github.com/shadow/shadow
        
       | a_t48 wrote:
       | This is great work - one of the rules for code written with Basis
       | was not to use the system clock. I somewhat got around the
       | network determinism by shimming out all network calls, and rather
       | than going single threaded, writing a scheduler
       | (https://basisrobotics.tech/2024/09/02/determinism/). My goal
       | wasn't to get ci->dev machine determinism, at least immediately,
       | because callback ordering determinism was so important. Love
       | seeing other work done in this space.
        
       ___________________________________________________________________
       (page generated 2025-04-07 23:01 UTC)