AI in software development: opportunities and challenges