From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.science.mathematics.categories/3797 Path: news.gmane.org!not-for-mail From: Oege.de.Moor@comlab.ox.ac.uk Newsgroups: gmane.science.mathematics.categories Subject: PhD on refactoring at Oxford Date: Sun, 17 Jun 2007 17:50:41 GMT Message-ID: NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1241019528 10331 80.91.229.2 (29 Apr 2009 15:38:48 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 29 Apr 2009 15:38:48 +0000 (UTC) To: Original-X-From: rrosebru@mta.ca Mon Jun 25 22:25:51 2007 -0300 Return-path: Envelope-to: categories-list@mta.ca Delivery-date: Mon, 25 Jun 2007 22:25:51 -0300 Original-Received: from Majordom by mailserv.mta.ca with local (Exim 4.61) (envelope-from ) id 1I2zgB-0000FE-Al for categories-list@mta.ca; Mon, 25 Jun 2007 22:17:15 -0300 Original-Sender: cat-dist@mta.ca Precedence: bulk X-Keywords: X-UID: 25 Original-Lines: 129 Xref: news.gmane.org gmane.science.mathematics.categories:3797 Archived-At: UNIVERSITY OF OXFORD COMPUTING LABORATORY Programming Tools Group Oxford University Computing Laboratory has a fully funded three year research studentship working in the Programming Tools Group with the abc team: http://progtools.comlab.ox.ac.uk http://aspectbench.org PROJECT SUMMARY 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 attribute 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. SELECTION CRITERIA 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. More generally, candidates must satisfy the usual requirements: http://web.comlab.ox.ac.uk/oucl/prospective/dphil/dphil-criteria.pdf for doing a doctorate at Oxford. HOW TO APPLY The deadline for applications has been extended to July 17, 2007, but earlier applications will be reviewed immediately, so candidates are encouraged to apply as soon as possible. Previous applicants need not re-apply. To apply you need to download the University's application form from: http://www.admin.ox.ac.uk/postgraduate/apply/forms You will need to submit references and a transcript with your application. It is also required to submit a research proposal: in this proposal, please elaborate on the reasons why you are interested in this project, and the research questions you find most exciting and important to address within the scope of the project. To make a convincing proposal, you may wish to consult some of the suggested reading below. Please submit your application to: Mrs. Julie Sheppard Secretary for Graduate Studies Oxford University Computing Laboratory Wolfson Building Parks Road Oxford OX1 3QD United Kingdom AND NOT TO THE ADDRESS ON THE APPLICATION FORM 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) SUGGESTED READING Avgustinov et al, Semantics of Static Pointcuts in AspectJ, POPL 2007 http://progtools.comlab.ox.ac.uk/members/oege/publications/documents/pcsemantics.pdf Ekman and Hedin. Rewritable Reference Attributed Grammars, ECOOP 2004. http://www.cs.lth.se/gorel/publications/2004-ReRAGs-LNCS.pdf Verbaere, Ettinger and De Moor. JunGL: a Scripting Language forRefactoring, ICSE 2006 http://progtools.comlab.ox.ac.uk/publications/icse06jungl Visser. Program Transformation with Stratego/XT: Rules, Strategies, Tools and Systems in StrategoXT-0.9. Domain-specific program generation. http://www.cs.uu.nl/research/techreps/UU-CS-2004-011.html