I am interested broadly in the field of programming languages. My main research topic involves the use of rewriting logic to define the semantics of programming languages. These definitions, which are executable, provide a prototyping environment for working with language definitions, and can also be leveraged for program verification and analysis. I am also currently looking at improved tool support for working with language definitions, especially focused on modularity.
- To see my CV, click Curriculum Vitae, Mark Hills for an HTML version, cv-mhills-letter.pdf for a PDF version on letter paper, or cv-mhills-a4.pdf for a PDF version on A4 paper.
- For publications organized by date, see Publications, Mark Hills.
- For publications organized by publication type, see Publications By Type, Mark Hills.
- To look at information on KOOL, an experimental object-oriented language we have been developing to highlight techniques for defining and analyzing object-oriented languages using rewriting logic, see the KOOL home page
- To download or experiment with the C Policy Framework (CPF), a tool for defining annotation-based C analyses using an abstract rewriting logic semantics of C, see the CPF home page
Two of my main projects involve the K framework, a framework and notation for defining programming language semantics, and the C Policy Framework, a semantics-based analysis framework which uses rewriting logic semantics to specify analysis policies, checked by executing the semantics over a domain of abstract values. More broadly, I've been working on the FSL Rewriting Logic Semantics project, defining executable semantics of programming languages, including an object-oriented language called KOOL.