TY - GEN
T1 - User interaction models for disambiguation in programming by example
AU - Mayer, Mikaël
AU - Soares, Gustavo
AU - Grechkin, Maxim
AU - Le, Vu
AU - Marron, Mark
AU - Polozov, Oleksandr
AU - Singh, Rishabh
AU - Zorn, Benjamin
AU - Gulwani, Sumit
PY - 2015/11/5
Y1 - 2015/11/5
N2 - Programming by Examples (PBE) has the potential to revolutionize end-user programming by enabling end users, most of whom are non-programmers, to create small scripts for automating repetitive tasks. However, examples, though often easy to provide, are an ambiguous specification of the user?s intent. Because of that, a key impedance in adoption of PBE systems is the lack of user confidence in the correctness of the program that was synthesized by the system. We present two novel user interaction models that communicate actionable information to the user to help resolve ambiguity in the examples. One of these models allows the user to effectively navigate between the huge set of programs that are consistent with the examples provided by the user. The other model uses active learning to ask directed example-based questions to the user on the test input data over which the user intends to run the synthesized program. Our user studies show that each of these models significantly reduces the number of errors in the performed task without any difference in completion time. Moreover, both models are perceived as useful, and the proactive active-learning based model has a slightly higher preference regarding the users? confidence in the result.
AB - Programming by Examples (PBE) has the potential to revolutionize end-user programming by enabling end users, most of whom are non-programmers, to create small scripts for automating repetitive tasks. However, examples, though often easy to provide, are an ambiguous specification of the user?s intent. Because of that, a key impedance in adoption of PBE systems is the lack of user confidence in the correctness of the program that was synthesized by the system. We present two novel user interaction models that communicate actionable information to the user to help resolve ambiguity in the examples. One of these models allows the user to effectively navigate between the huge set of programs that are consistent with the examples provided by the user. The other model uses active learning to ask directed example-based questions to the user on the test input data over which the user intends to run the synthesized program. Our user studies show that each of these models significantly reduces the number of errors in the performed task without any difference in completion time. Moreover, both models are perceived as useful, and the proactive active-learning based model has a slightly higher preference regarding the users? confidence in the result.
UR - http://www.scopus.com/inward/record.url?scp=84959261047&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84959261047&partnerID=8YFLogxK
U2 - 10.1145/2807442.2807459
DO - 10.1145/2807442.2807459
M3 - Conference contribution
AN - SCOPUS:84959261047
T3 - UIST 2015 - Proceedings of the 28th Annual ACM Symposium on User Interface Software and Technology
SP - 291
EP - 301
BT - UIST 2015 - Proceedings of the 28th Annual ACM Symposium on User Interface Software and Technology
T2 - 28th Annual ACM Symposium on User Interface Software and Technology, UIST 2015
Y2 - 8 November 2015 through 11 November 2015
ER -