Large Language Models for Software Engineering: Survey and Open Problems