Esistono linguaggi sicuri di tipo con compilatori deterministici?

8

Questo articolo su BIND9 si conclude con la dichiarazione:

The point I'm trying to make here is that BIND9 should not be exposed to the public. It has code problems that should be unacceptable in this day and age of cybersecurity. Even if it were written perfectly, it has far too many features to be trustworthy. Its feature-richness makes it a great hidden master, it's just all those feature get in the way of it being a simple authoritative slave server, or a simple resolver. They shouldn't rewrite it from scratch, but if they did, they should choose a safe language and not use C/C++.

Quando indago su C #, vedo questo da Eric Lippert , dicendo che C # non verrà mai compilato allo stesso identico binario dovuto alle modifiche del Colonna MVID.

Domanda

Esiste una combinazione di un linguaggio di programmazione e compilatore di tipo sicuro che genera build deterministici?

    
posta random65537 01.08.2015 - 12:38
fonte

1 risposta

2

Ci sono strumenti per rendere deterministici le build. Tuttavia non è così semplice come scegliere la lingua e il compilatore corretti. Devi anche eliminare tutte le fonti di non determinismo dalla build. Questo consiste principalmente di data e ora e controllo somme. Vedi link per un elenco più completo di non determinismo.

Reproducible-Builds elenca anche diversi progetti che usano build deterministiche ( link ). Ho notato che alcuni hanno usato una combinazione di c o c ++ e Gitian ( link ) usando script di compilazione che eliminano il non-determinismo. Per un esempio leggi le istruzioni per il link .

    
risposta data 05.02.2016 - 15:53
fonte

Leggi altre domande sui tag