Design validation of multithreaded architectures using concurrent threads evolution