SESADA: an environment supporting software specialization