Reinforcing program correctness with reinforcement learning
Many of our online activities, from receiving and sending emails to searching for information to streaming movies, are driven behind the scenes by cloud-based distributed architectures, and writing concurrent software—programs with multiple logical threads of execution—is of paramount importance to scale these growing computing needs. Writing correct concurrent software is challenging. Unit, integration, and even stress testing don’t provide reasonable guarantees about the correctness of a concurrent program. Thus, insidious defects can remain latent in software until the late stages of development, potentially adding cost and stress