TY - GEN
T1 - Abstraction-based interaction model for synthesis
AU - Peleg, Hila
AU - Itzhaky, Shachar
AU - Shoham, Sharon
N1 - Publisher Copyright: © Springer International Publishing AG 2018.
PY - 2018
Y1 - 2018
N2 - Program synthesis is the problem of computing from a specification a program that implements it. New and popular variations on the synthesis problem accept specifications in formats that are easier for the human synthesis user to provide: input-output example pairs, type information, and partial logical specifications. These are all partial specification formats, encoding only a fraction of the expected behavior of the program, leaving many matching programs. This transition into partial specification also changes the mode of work for the user, who now provides additional specifications as long as they are unhappy with the result. This turns synthesis into an iterative, interactive process. We present a formal model for interactive synthesis, leveraging an abstract domain of predicates on programs in order to describe the iterative refinement of the specifications and reduction of the candidate program space. We use this model to describe the behavior of several real-world synthesizers. Additionally, we present two conditions for termination of a synthesis session, one hinging only on the properties of the available partial specifications, and the other also on the behavior of the user. Finally, we show conditions for realizability of the user’s intent, and show the limitations of backtracking when it is apparent a session will fail.
AB - Program synthesis is the problem of computing from a specification a program that implements it. New and popular variations on the synthesis problem accept specifications in formats that are easier for the human synthesis user to provide: input-output example pairs, type information, and partial logical specifications. These are all partial specification formats, encoding only a fraction of the expected behavior of the program, leaving many matching programs. This transition into partial specification also changes the mode of work for the user, who now provides additional specifications as long as they are unhappy with the result. This turns synthesis into an iterative, interactive process. We present a formal model for interactive synthesis, leveraging an abstract domain of predicates on programs in order to describe the iterative refinement of the specifications and reduction of the candidate program space. We use this model to describe the behavior of several real-world synthesizers. Additionally, we present two conditions for termination of a synthesis session, one hinging only on the properties of the available partial specifications, and the other also on the behavior of the user. Finally, we show conditions for realizability of the user’s intent, and show the limitations of backtracking when it is apparent a session will fail.
UR - http://www.scopus.com/inward/record.url?scp=85041851377&partnerID=8YFLogxK
U2 - https://doi.org/10.1007/978-3-319-73721-8_18
DO - https://doi.org/10.1007/978-3-319-73721-8_18
M3 - منشور من مؤتمر
SN - 9783319737201
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 382
EP - 405
BT - Verification, Model Checking, and Abstract Interpretation - 19th International Conference, VMCAI 2018, Proceedings
A2 - Dillig, Isil
A2 - Palsberg, Jens
T2 - 19th International Conference on Verification, Model Checking, and Abstract Interpretation, 2018
Y2 - 7 January 2018 through 9 January 2018
ER -