The Role of Self-definition in Software Development and Evolution

B. Wilks and P. Bailes (Australia)


Software design and development, self-definition, meta circular interpreter, quality assurance.


Self-definition is the use of a notation to define itself. This technique was used in early definitions of programming languages in the form of meta-circular interpreters but has since been replaced for largely technical reasons by formal techniques. In rejecting self definitions some of the more pragmatic advantages of this technique have also been missed. This paper seeks to dispel some of the myths about self-definition. It then argues that the use of self-definition in software engineering reduces the knowledge requirements and improves quality attributes for many software engineering processes.

Important Links:

Go Back