Formal Methods: Formal Techniques and Retrenchment.
These days, the benefits of having a formal perspective in a development methodology are increasingly recognised. Up to now most formal approaches focus on some aspect of *compliance*, e.g., the compliance of an implementation to an abstraction (during development), or the compliance of an abstraction in reflecting suitable properties of a concrete model (during property checking). But many real world development activities involve changes to the system models used, that *go beyond* such compliance notions. Retrenchment seeks to bring a degree of rigour to such activities that are comparable to that achievable during compliance based activities. See http://www.cs.man.ac.uk/retrenchment for more details.
There are many potential PhD projects in this area. These range from purely theoretical investigations into the foundations of retrenchment, to tool building projects (eg. plugin development for Rodin), to the development of application specific areas (eg. formal safety analyses of various kinds), to integration with formal requirements frameworks (eg. KAOS). Interested individuals should contact Dr. Richard Banach (email@example.com) in the first instance.