9

Mi chiedevo, è possibile utilizzare l'Intelligenza Artificiale per rendere i compilatori migliori?Compilatore di Intelligenza Artificiale

Le cose che mi potevo immaginare se fosse possibile -

  • messaggi di errore più specifico
  • Migliorare ottimizzazioni del compilatore, in modo che il compilatore potuto effettivamente capire quello che stai cercando di fare, e farlo meglio

Se è è possibile, ci sono progetti di ricerca su questo argomento?

+4

È difficile usare l'intelligenza artificiale per fare qualcosa di meglio, oltre alle lavatrici. – JnBrymn

+0

In C# è possibile utilizzare strumenti come StyleCop, FxCop e resharper per trovare potenziali problemi. È possibile scrivere regole personalizzate, finché non impiegano così tanto tempo a funzionare che è necessario disporre di una server farm. Qual è il tuo obiettivo comunque? Resharper può riscrivere i loop come LINQ, e questo a sua volta aiuta spesso il compilatore C# a emettere il codice più veloce possibile. Tuttavia, la velocità non dovrebbe essere l'unico obiettivo. –

risposta

10

Si dovrebbe guardare MILEPOST GCC -

milepost GCC è il primo attept pratico per costruire apprendimento automatico abilitato produzione open-source self-tuning (e ricerca) del compilatore in grado di adattarsi a qualsiasi architettura utilizzando feedback- iterativa compilazione diretto, machine learning e optimizatio collettiva

1

Questo è davvero un campo oggetto di ricerca. Guarda il ramo milepost per GCC, che si basa sull'ottimizzazione guidata dai profili e sull'apprendimento automatico. La recente letteratura scientifica per i compilatori è piena di documenti che utilizzano una combinazione di data mining, machine learning (tramite algoritmi genetici o reti neurali) e più pattern di riconoscimento "classico" di determinati pattern di codice.

4

un compilatore ottimizzato è in realtà molto complesso expert system e sistemi esperti è uno dei più antichi rami di intelligenza artificiale.

Problemi correlati