Self-analyzing