Artificial intelligence and software engineering