A small, but growing heap of potentially related work, in no particular order. To be harvested, amended, summarised and sorted..
Refactoring Project at Universiteit Antwerpen and Vrije Universiteit Brussel: The aim of the project is to provide a solid foundation for software refactoring by the development of a suitable formal model. We aim at a lightweight model, facilitating the investigation of basic properties of refactoring, as well as the design of tools supporting the refactoring process. In particular, the potential of graph rewriting as a basis for such a model will be explored. There are several reasons to assume that graph rewriting is a good basic technique for building the model. In the first place, the notion of a (typed) graph enables one to express numerous kinds of diagrammatic representations in a natural way. Secondly, the existing body of results concerning the representation and analysis of graph rewriting processes provides a good starting point for the description and manipulation of complex refactoring processes. This should lead to, e.g., methods for the detection of conflicting refactorings, and methods for the optimization of refactoring processes. Thirdly, the question whether a given set of refactorings is allowable in the sense that it preserves program behaviour is obviously related to the characterization of graph properties that are preserved by the corresponding rewriting rules. Other important aspects are the complexity of refactorings, which can be studied in terms of the number of graph rewriting steps needed, perhaps in combination with the sizes of the graphs involved, and the issue of consistency between various levels of abstraction, which is related to work about hierarchical graphs.
See also Martin Fowler's refactoring tools page.
The Ada Semantic Interface Specification (ASIS) is an interface between an Ada environment (as defined by ISO/IEC 8652:1995) and any tool or application requiring information from it. An Ada environment includes valuable semantic and syntactic information. ASIS is an open and published callable interface which gives CASE tool and application developers access to this information. ASIS has been designed to be independent of underlying Ada environment implementations, thus supporting portability of software engineering tools while relieving tool developers from needing to understand the complexities of an Ada environment's proprietary internal representation. In short, ASIS can provide the foundation for your code analysis activities.
If you are aware of other relevant pointers, please send us an email, and we'll eventually get round to updating this page.