QuickFill, QuickMixte : approches par blocs pour la réduction du nombre de programmes en synthèse de programmes - Archive ouverte HAL Access content directly
Conference Papers Year : 2022

QuickFill, QuickMixte : approches par blocs pour la réduction du nombre de programmes en synthèse de programmes

Abstract

Repetitive tasks are most often tedious; in order to facilitate their execution, program synthesis approaches have been developed. They consist in automatically inferring programs that satisfy the intention of a user. The best known approach in program synthesis is FlashFill integrated into the Excel spreadsheet which allows the processing of character strings. In FlashFill user intent is represented by examples i.e, pairs (input, output). FlashFill explores a very large space of programs and therefore can require a lot of execution time and infer a lot of programs some of which work on given examples but do not capture the user's intent. In this article, we propose two approaches QuickMixte and QuickFill based on blocks which aim to guide the exploration of the program space of FlashFill by enriching the specifications provided by the user. These approaches ask the user to provide associations between subparts of the output and the input to refine the specifications. Experiments carried out on a series of 12 datasets show that QuickMixte and QuickFill make it possible to considerably reduce the program space of FlashFill. We show that with these approaches, it is often possible to give fewer examples than with the original FlashFill algorithm for a larger proportion of correct programs. Keywords : Synthesis of programs, programming by example, manipulation of character strings, repetitive tasks, block approach.
Les tâches répétitives sont le plus souvent fastidieuses ; afin de faciliter leur exécution, les 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 en synthèse de programmes est FlashFill intégrée au tableur Excel qui permet le traitement des chaînes de caractères. Dans FlashFill l'intention de l'utilisateur est représentée par des exemples i.e, des couples (entrée, sortie). FlashFill explore un très grand espace de programmes et peut donc nécessiter un temps d'exécution important et inférer beaucoup de programmes dont certains fonctionnent sur des exemples donnés mais ne capturent pas l'intention de l'utilisateur. Dans cet article, nous proposons deux approches QuickMixte et QuickFill basées sur les blocs qui visent à guider l'exploration de l'espace de programmes de FlashFill en enrichissant les spécifications fournies par l'utilisateur. Ces approches demandent à l'utilisateur de fournir des associations entre les sous-parties de la sortie et de l'entrée pour affiner les spécifications. Les expérimentations menées sur une série de 12 jeux de données montrent que QuickMixte et QuickFill permettent de réduire considérablement l'espace de programmes de FlashFill. Nous montrons qu'avec ces approches, il est souvent possible de donner moins d'exemples qu'avec l'algorithme FlashFill original pour une plus grande proportion de programmes corrects.
Fichier principal
Vignette du fichier
CARI_2022_papier_72.pdf (392.37 Ko) Télécharger le fichier
Origin Files produced by the author(s)

Dates and versions

hal-03717860 , version 1 (10-07-2022)

Identifiers

  • HAL Id : hal-03717860 , version 1

Cite

Vanessa Fokou, Peggy Cellier, Maurice Tchuente, Alexandre Termier. QuickFill, QuickMixte : approches par blocs pour la réduction du nombre de programmes en synthèse de programmes. CARI 2022 - Colloque Africain sur la Recherche en Informatique et en Mathématiques Appliquées, Oct 2022, Yaoundé, Cameroun. pp.1-10. ⟨hal-03717860⟩
123 View
37 Download

Share

Gmail Mastodon Facebook X LinkedIn More