Timothy L. Hinrichs is a researcher in Computer Security: the branch of Computer Science dedicated to improving the protection of computer systems against abuse while minimizing the degradation of their usability.
At the heart of security is the idea that a system ought to be used in some ways and ought not be used in others. That is, the security of a system can only be evaluated in the context of the semantics for that system—the definition for how the system and its users are supposed to interact.
Hinrichs's research focuses on leveraging a separate, formal representation of a system's semantics to improve that system's security in two ways. The first is precisely assessing how well a system meets its security objectives, a process that can be automated to some extent if the semantics is written in a machine-processable language. The second is more ambitious: enforcing the semantics of the system automatically, which can be accomplished either by directly implementing the language in which the semantics are written or by synthesizing code that obeys the semantics.
Because it is often convenient to represent a system's semantics in a logical language, Hinrichs's work draws upon and contributes to Computational Logic, the branch of Computer Science concerned with the representation and processing of information in the form of logical statements.