{"id":670944,"date":"2020-07-01T16:46:01","date_gmt":"2020-07-01T23:46:01","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/?post_type=msr-project&p=670944"},"modified":"2022-04-19T15:08:42","modified_gmt":"2022-04-19T22:08:42","slug":"modeless-program-synthesis","status":"publish","type":"msr-project","link":"https:\/\/www.microsoft.com\/en-us\/research\/project\/modeless-program-synthesis\/","title":{"rendered":"Blue-Pencil: modeless program synthesis"},"content":{"rendered":"

Traditional program synthesis systems have modal UIs (i.e., users enter a special mode to give demonstration\/examples), which interrupt users\u2019 workflow and require users to have knowledge about the systems to invoke them.<\/p>\n

Blue-Pencil aim at developing modeless<\/span> <\/em>program synthesis systems, that is, systems that do not require users to explicitly enter a special mode to give demonstration or examples. Instead, a modeless program synthesis system observes<\/em> what task a user is doing, learns<\/em> how to automate the task from those observations, and subsequently assists<\/em> the user by automating the remaining part of the task.<\/p>\n

Modeless program synthesis is the main technology behind Visual Studio IntelliCode Suggestions (opens in new tab)<\/span><\/a>:<\/p>\n