Casos de teste do compilador ou como testar um compilador
Compiladores como todos os softwares, também seriam propensos a erros, erros lógicos.
Como se valida a saída gerada pelo compilador? Normalmente, minha pergunta é (são)
Como validar se o código de máquina gerado está correto?
Como garantir que o código de máquina gerado esteja de acordo com a especificação da linguagem.
Faz sentido apenas escolher um projeto de código aberto (em C, se um também estiver escrevendo um compilador em C) para compilá-lo apenas através do "compilador". Nesse caso também, como julgar que o compilador está se comportando como esperado.
Há algum caso de teste formal (literatura) fornecido pelo comitê de padrões de linguagem que um compilador "em conformidade com a linguagem" deve satisfazer?
Quais são as "desistências" seguras que o problema em um programa compilado por umcompilador é um bug do compilador e não um bug do programa.
- Algum exemplo onde os compiladores do mainstream se confundem e compilam o código errado?
Links para qualquer literatura seriam apreciados.