Software verification, programming languages, and software engineering, particularly for enterprise software.