[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-users] AOP research positions at Oxford

Programming Tools Group University of Oxford, UK


 >> fully funded 3-year PhD studentship  <<
   >> numerous paid 2-months internships <<

Software systems are rarely written from scratch: they evolve over long periods of time. When a change is made, this often affects many different locations in a system, and it is hard to make a change consistently. For that reason, automated tools to help the process of software change are desirable. "Refactoring" refers to the process of restructuring an existing piece of software, often prior to introducing new functionality, or to take advantage of a new technology. Refactoring must preserve the behaviour of existing code,
and tools that help in refactoring both assist in the restructuring process and in checking that the behaviour has not changed.

Unfortunately today's refactoring tools are very hard to construct, they are still quite limited in functionality, and they often contain bugs. This project aims to construct a framework for better refactoring tools. In particular, the work is driven by refactorings for a new set of language features, called `aspect-oriented programming' that have recently been added to Java.

Our framework will be based on developments in three separate areas of computer science: * `strategies' to control the process of rewriting program code,
from the `term rewriting' community * `reference attributed grammars' to specify the conditions that
guarantee behaviour is preserved, from the `compilers' community * `incremental evaluation' of declarative rules, from the
`functional and logic programming' community.

The quality of our framework will be assessed by coding selected case studies using alternative methods. In particular, we shall implement several refactorings directly in Eclipse, the leading development environment for writing aspect-oriented programs in industry.

The project is funded by the EPSRC (UK equivalent of NSF).


The PhD student will be concerned with the theoretical foundations of
the refactoring framework, for instance proofs of correctness for
refactorings, and also for the incremental evaluation mechanism.
We are thus looking for someone with good mathematical skills, in
particular regarding formal properties of type systems and program
analyses. Candidates must have an outstanding undergraduate or
master's degree in computer science. Funding is provided to pay
for university fees at EU level (overseas candidates need supplementary
funding), plus subsistence, travel, equipment etc.

The 2-months positions are intended to assist with implementation work.
We are thus looking for highly skilled Java programmers; familiarity
with program analysis, formal type systems and so on will be an
advantage. These internships are in fact short-term appointments
as research assistants at the University of Oxford, and so the holders
will be paid a salary. Interns can be outstanding undergraduate students who wish to gain research experience.


The deadline for applications is March 20, 2007.

* For the PhD studentship, follow the instructions on


  Clearly mark your application "Aspect Refactoring Tools
  project".  Also send a full electronic copy of your application
  to oege@xxxxxxxxxxxxxxx, by March 20, 2007.

* For the 2-months positions, send a letter explaining your
  interest in the project, plus a full cv and the names of
  3 referees to oege@xxxxxxxxxxxxxxxx


We are happy to discuss any of the above informally with prospective
candidates. Just email one or all of the project leaders:

  Oege de Moor (oege@xxxxxxxxxxxxxxx)
  Torbjorn Ekman (torbjorn@xxxxxxxxxxxxxxx)
  Mathieu Verbaere (matv@xxxxxxxxxxxxxxx)