Software que añade una mejora de compatibilidad a una aplicación existente. Ofrecen funcionalidad a un software antiguo en un entorno más nuevo, o a uno nuevo en un entorno más antiguo. También se emplean para ejecutar programas en plataformas de software diferentes a aquellas para las que fueron desarrollados.