Details of my academic publications are available on a separate interactive publications page, which includes comprehensive abstracts, BibTeX entries and links to papers, all presented in an incrementally searchable table.
My primary research interests lie in the area of the philosophy of language and formal semantics. I also have interests in program analysis, particularly in human comprehension of computer programs, and process modelling. Much of my work in these last two areas exploits my knowledge of general ideas and techniques from language analysis.
My primary research interest is in the semantics of natural language and the philosophical issues that arise in this area. I am currently working on deontic reasoning, with a particular focus on a non-Kripkean analysis, and also underspecification, exploiting a logic with a rich language of terms that allows underspecified representations to be handled entirely within the object language. Topics on which I have made contributions include
I am a member of the interdisciplinary Language and Computation Group at Essex (LAC) which holds regular seminars. Details are available from the Language and Computation Wiki which I established.
Some of this work has been supported at various times by the Royal Society, EPSRC/SERC and ESRC.
[Formal Semantics is intended to capture the meaning of (human) language in a formal system. A key problem is in identifying an appropriate formal system and translation in order to capture our intuitions about the phenomena in question. Deontic Logic seeks to capture legitimate patterns of reasoning involving obligations and permissions. Non-Kripkean approaches are those that avoid the overt use of "possible worlds" semantics.]
I am interested in weak conservative approaches to reasoning with computer programs to aid human comprehension, reverse engineering, re-engineering and code reuse. I produced the first fully-automatic conditioned program slicer. Areas I have explored include
Some of this work has been supported by DaimlerChrysler and the EPSRC.
[Program slicing is intended to eliminate program statements that are not required for the subcomputation of interest. Conditioned program slicing additionally eliminates code that cannot be executed under the given environmental conditions.]
I have an interest in modelling of processes, and have worked on the following problems.
Most of this work has been funded by the EU.
[Process Models are intended to make it possible to reason with human and other processes, and to check for certain properties, such as deadlocks, liveness and equivalence, for example.]
I can supervise PhD research in the area of natural language semantics, computational linguistics, program analysis (applied and theoretical) and related areas. Contact me if you wish to discuss this (email preferred). Further details on the application procedure for research degrees are given on the departmental website.
I am currently responsible for the undergraduate computer science third year project module (CC301), the second year module on Operating Systems (CE222) (formerly CC255). The latter module (as CC255) was used as the pilot for the university's Moodle server. I also teach on the Computer Systems and Networks (CE123) module, which I co-developed. I supervise a number of postgraduate MSc dissertations (CC401/CE901), group projects (CC403/CE903), special topics (CC456), and final year undergraduate projects (CC301). I formerly taught the third year module on Formal Methods (CC371), the second year module on Software Testing (CC271), an undergraduate Networking Group Project module (EE219), and a postgraduate module on Semantics (CC480) which I devised.
[You need an Essex account to access the module websites.]
HTML email please)