Geração Automática de Benchmarks para Compilação Preditiva.

Cecília Kind, Joao Coelho, Bruno Kind,Fernando Pereira

Brazilian Symposium on Programming Languages (SBLP)(2022)

引用 0|浏览4
暂无评分
摘要
O treinamento de um compilador preditivo requer uma quantidade muito vasta de benchmarks, que aproxime o universo de programas que o compilador irá encontrar durante sua utilização. Atualmente existem diversas técnicas para gerar benchmarks para calibrar compiladores preditivos. Contudo, essas técnicas, quando aplicadas a linguagens inseguras, como C, C++ ou dialetos de montagem, tendem a esbarrar em um desafio: a geração de códigos executáveis. A dificuldade em detectar comportamento indefinido, somada à dificuldade de criar entradas que executem vários caminhos de um mesmo programa, torna a geração de benchmarks executáveis um desafio. Este artigo descreve Jotai, um conjunto de aproximadamente 30 mil programas executáveis, minerados a partir de repositórios de código aberto. Jotai usa um inferidor de tipos publicamente disponível para garantir que códigos minerados automaticamente possam compilar, e usa uma linguagem de domínio específico para gerar entradas válidas para programas. Essa coleção pôde ser utilizada para prever o benefício advindo de otimizações de código; para encontrar boas configurações para as diferentes heurísticas usadas por compiladores; e para analisar correlações, por exemplo, entre o número de instruções processadas durante a execução de um programa e o tempo que esse programa leva para terminar.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要