Un backend del compilatore è il livello inferiore di un compilatore che trasforma una rappresentazione intermedia in codice macchina o in un altro output specifico per la destinazione. Mentre il front end analizza la sintassi e il middle end ottimizza il programma, il backend si occupa della selezione delle istruzioni, dell'allocazione dei registri, della pianificazione e della generazione del codice per la CPU, l'acceleratore o il runtime previsti.
Nella sicurezza informatica, il backend è importante perché può modificare sia la correttezza sia l'esposizione. Per sistemi che preservano la privacy, come le pipeline di crittografia omomorfica, il comportamento del backend influisce sulle prestazioni, sulla crescita del rumore e sul fatto che l'aritmetica cifrata resti entro limiti sicuri. Un backend debole o non corrispondente può rendere inutilizzabile un progetto sicuro, divulgare informazioni tramite canali laterali o compromettere silenziosamente le ipotesi sull'esecuzione a tempo costante. I difensori esaminano l'output del backend, testano le build specifiche per la destinazione e verificano che il codice generato corrisponda al modello di sicurezza. Gli attaccanti possono cercare di sfruttare bug del backend, errori di compilazione o ottimizzazioni non sicure per causare crash, aggirare i controlli o indebolire i carichi di lavoro protetti.


