The information in this page may be outdated, as Alley Stoughton is currently not a member of the Institute.
Alley Stoughton received her BS degree in mathematics/computer science and her MS degree in computer science from the University of California, Los Angeles, in 1979 and 1981, respectively. During much of this period, she worked in Gerald Popek’s operating systems research group and contributed to the implementation of UCLA Data Secure Unix. Her master’s thesis reported on an attempt at integrating access control and information flow. She concluded her graduate work at the University of Edinburgh, receiving her PhD degree in computer science in 1987 under the direction of Gordon Plotkin. Her doctoral research was on the “full abstraction” problem for programming language semantics, and an extension of her thesis, Fully Abstract Models of Programming Languages, was published as a research monograph.
From 1986 until 1993, she was a research fellow and then a lecturer at the University of Sussex. During this period, she continued her work on programming language theory, but also developed an interest in implementing logic-based tools. In 1993, she joined Kansas State University as an associate professor, where she expanded her research to include functional programming. During this period, she designed and implemented Forlan, an open-source toolset for experimenting with formal language theory.
From 2012 until 2015, she was a member of the technical staff of MIT Lincoln Laboratory, where she focused on the application of formal methods and programming languages to cyber security. She has continued this research focus since joining IMDEA Software Institute as a researcher in 2015. At IMDEA, she is a member of the Computer-Assisted Cryptography Group, and is working on a formalization of the indifferentiability result for the SHA-3 Secure Hash Algorithm standard, as well as on proving the security of private information retrieval cryptographic protocols.
Formal language theory, formal methods for cryptography, functional programming, logic, programming language based security, and programming language semantics.