Michael D. Adams (original) (raw)
I am an Assistant Professor in Computer Science at the National University of Singapore (NUS). My research area is programming languages with an emphasis on static analysis/control-flow analysis, syntax and parsing, compilers and optimization, generic and meta-programming, and next-generation languages.
In my vision of an ideal future, programmers would be able tocommunicate their intent to a computer (i.e., write programs) as quickly as and at the same high level that they can communicate to other programmers, and the resulting software artifacts would be clear and concise enough that they obviously have no bugs instead of having no obvious bugs.
My research is aimed at achieving this future. As such, the thread that connects all of my research is language tools and features thatenable programmers to write clear, concise and elegant code and do so without sacrificing other things like performance. I view this as key to improving programmerproductivity and code comprehensionand allowing programmers to more effectively design and implement programs. These also have positive effects on other research areas. For example, better languages and tools can make it easier to detect security vulnerabilities or prevent them in the first place, and better languages and tools can also make programming more approachable and aid in computer-science education. The future I describe is a ways off, and I might not see it in my lifetime, but it is a future that I am excited to work towards.
Post-doc opening: I have an opening for a post-doc.
I graduated from Indiana University under the supervision of R. Kent Dybvig and did post-doctoral research on (in reverse chronological order):
- the Hazel programming environment with Cyrus Omar at the University of Michigan,
- the Automated Program Analysis for Cybersecurity (APAC) and Space/Time Analysis for Cybersecurity (STAC) programs with Matthew Might at the University of Utah,
- the K Framework with Gregory Rosu at the University of Illinois at Urbana-Champaign, and
- the High-Assurance Systems Programming (HASP) project with Mark Jones, Jim Hook and Andrew Tolmach at Portland State University,
I’ve been also involved in the development of a number of languages and compilers, including:
- the Glasgow Haskell Compiler,
- the Chez Scheme compiler,
- the Hazel programming environment,
- the Habit compiler,
- the Hermit optimization system,
- the X10 language, and
- the K Framework.
See Also
- My published papers
- Miscellaneous projects I’ve done in my spare time
- Courses that I’ve taught
- How to contact me
- My full curriculum vitae, research statement, and teaching statement