In this digitally enabled world, software systems play a critical role in managing critical business processes. From booking flight tickets to banking systems, libraries, transport systems, manufacturing units, everywhere we see tremendous use of software. Under such a scenario, reliability and robustness of software is critical to ensure business continuity.