Software reliability is the probability that software will operate failure-free for a specified period of time in a specified environment. It is an important contributing factor impacting system reliability (which includes hardware and human reliability).