Complex concurrent systems present a significant challenge for software verification. If those systems are safety-critical, the need for software verification becomes particularly pressing, given the serious consequences of unforeseen defects. Complex concurrent systems are characterised by extremely large state spaces. The use of testing techniques for verification means that very little of the state space is explored. On the other hand, model-checking techniques exhaustively examine the state space, but will be stymied by the actual size. In this paper, we discuss some preliminary experiments on the application of evolutionary algorithms to software verification. This approach does not explore the whole state space, but does use heuristic...