A programm that creates and analyzes itself.