Concurrent program development