Logic List Mailing Archive
PhD student position and 2-month internship in "Programming Tools Group" Oxford (Applications from Logic particularly welcome)
Programming Tools Group
University of Oxford, UK
http://progtools.comlab.ox.ac.uk
http://aspectbench.org
>> fully funded 3-year PhD studentship <<
>> numerous paid 2-months internships <<
Applications from
researchers in logic and computer science (or their students)
would be particularly welcome!
1. PROJECT SUMMARY: ASPECT REFACTORING TOOLS
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).
2. REQUIREMENTS
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.
3. HOW TO APPLY
The deadline for applications is March 20, 2007.
* For the PhD studentship, follow the instructions on
http://web.comlab.ox.ac.uk/oucl/prospective/dphil/
Clearly mark your application "Aspect Refactoring Tools
project". Also send a full electronic copy of your application
to oege@comlab.ox.ac.uk, 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@comlab.ox.ac.uk.
4. FURTHER INFORMATION
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@comlab.ox.ac.uk)
Torbjorn Ekman (torbjorn@comlab.ox.ac.uk)
Mathieu Verbaere (matv@comlab.ox.ac.uk)