QuickFill : travailler plus pour générer moins en synthèse de programmes
Résumé
Afin de faciliter l'exécution de tâches répétitives, des approches de
synthèse de programmes ont été développées. Elles consistent à inférer automatiquement
des programmes qui satisfont l'intention d'un utilisateur. L'approche
la plus connue est FlashFill qui est intégrée au tableur Excel. Dans
FlashFill l'intention de l'utilisateur est représentée par des exemples, i.e. des
couples (entr´ee, sortie). FlashFill explore un très grand espace de recherche
des programmes et peut donc nécessiter un temps d'exécution important et inférer
beaucoup de programmes dont certains fonctionnent sur les exemples donnés
mais ne capturent pas l'intention de l'utilisateur. Dans cet article nous présentons
Quickfill, une approche qui réduit l'espace des programmes à explorer en
enrichissant les spécifications fournies par l'utilisateur. Nous montrons qu'avec
cette approche, il est souvent possible de donner moins d'exemples qu'avec l'algorithme
FlashFill pour une plus grande proportion de programmes corrects.